关于Java的方法调用问题

sunny_winter 2010-01-03 01:02:22
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方法,直接调用插入排序又可以正常运行。哪位高人指点一下问题出在哪里了,在线等。。谢谢啦。。。
...全文
69 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
crazylaa 2010-01-04
  • 打赏
  • 举报
回复
代码不全,看不出来。。。
ps:楼主设个断点调试下呗
sunny_winter 2010-01-03
  • 打赏
  • 举报
回复
自己先顶住。。

50,535

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧