关于Java的方法调用问题
import java.io.*;
public class Sort {
public static void sort(String method,int count) throws IOException,FileNotFoundException {
//创建一个可读文件指定行的类读取文件
LineNumberReader file = new LineNumberReader( new FileReader("F:\\data_src.txt"));
int[] num =new int[count]; //创建一个大小为count的数组
int k = 0;
int n = 10000000;
File data = new File("F:\\temp.txt"); //创建一个临时文件存储临时数据元素
if (data.exists()) {
System.out.println("文件已存在,覆盖原文件内容……");
}
PrintWriter datas = new PrintWriter (data); //创建PrintWriter用以把数据写入data中
while ( k < n) {
for(int j = 1; j <=count/100 ;j++) { //每次从文件中读入count个数据元素进行内部排序
String[] number = file.readLine().split(" "); //将读入的字符串以空格为标记断开
for (int i = 0 ; i < number.length; i++ ){
num[i+100*(j-1)] = Integer.parseInt(number[i]); //将字符串转换为int类型
}
}
//调用 排序方法
if (method.equals("heapSort")) HeapSort.heapSort(num);
if (method.equals("insertSort")) InsertSort.insertSort(num);
if (method.equals("mergeSort")) MergeSort.mergeSort(num);
if (method.equals("quickSort")) QuickSort.quickSort(num, 0, count-1);
final int NUMBER_OF_DATAS_PER_LINE = 100 ; //设置存储的时候每行的元素个数为100
for (int i = 0; i < count; i++){
if ( (i+1) % NUMBER_OF_DATAS_PER_LINE == 0)
datas.println(num[i]);
else
datas.print(num[i] + " "); //将随机数写入文件中
}
k +=count;
datas.flush();
}
datas.close();
System.out.println("内部排序已完成");
}
}
请大家帮忙看一下我这个程序,当我期中被调用的方法是插入排序的时候,它就只是给我把源文件复制的一次输入到新的文件中。但是调用其它3个都是正常运行的。而且我把这个表头改成main方法,直接调用插入排序又可以正常运行。哪位高人指点一下问题出在哪里了,在线等。。谢谢啦。。。