我是最近的Java学生,我正在将AP计算机科学作为一门课程,所以如果我的问题看起来很基本,那很可能就是。
我有一个特定的输出行,一直被删除。现在我们正在学习冒泡排序,我要做的就是打印一行“原始列表”(然后打印原始列表)。然后我对列表进行排序并打印出“排序列表”,然后打印出新的排序列表。
我知道如何排序,但我的“原始列表”println()行永远不会出现。
我会进一步解释一下。我必须在我的解决方案中使用外部文件Scanner(我给了一个随机列表来排序)。所以我创建了一个Scanner对象。
以下是代码:
Sorter math = new Sorter();
Scanner inFile = null;
try{
inFile = new Scanner(new File("numbers.txt"));
}
catch (FileNotFoundException e) {
System.out.println("Sorry, file not found!");
System.exit(0);
}
我的扫描仪工作正常,不介意另一个Sorter对象,它适用于以后。但这里的东西很奇怪:
System.out.println("Original List:");//this is the line that gets erased
int count = 0;
System.out.println();
while( inFile.hasNext() ){
System.out.print(inFile.nextInt() +" ");
count+=1;
if(count %10 ==0) {
System.out.println();
}
}
列表打印正常。我在while循环中做的是我一次打印10个数字。但是“原始列表”这一行从未出现过。
甚至更奇怪的是,如果我删除while循环,我会打印一行显示“原始列表”。为什么?这两项产出不应该相关。
输出:
477 821 333 210 846 207 654 580 615 754
740 296 580 647 631 133 666 167 931 943
242 413 220 955 669 515 75 401 63 817
476 303 625 171 482 531 968 616 85 186
707 92 692 813 278 440 230 181 596 16
253 484 268 37 144 676 869 92 436 310
575 5 833 2 449 5 868 276 820 338
783 438 717 463 606 258 278 57 881 151
“原始线”不存在