我有以下代码,它似乎陷入了 while 循环,但我不明白为什么。注释掉 while 循环可以让代码干净地运行。
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.lang.Integer;
public class Main{
public static void main(String[] pArgs)throws FileNotFoundException {
Main mainObject = new Main();
mainObject.run();
}
private void run() throws FileNotFoundException {
readInputFile();
}
public ArrayList<Integer> readInputFile(){
//reads input file and creates array of integers
Scanner scanner = new Scanner(System.in);
ArrayList<Integer> integerList = new ArrayList<Integer>();
try {
File in = new File("p01-in.txt");
while (scanner.hasNext()){
System.out.println("Tada!");
int tempInt = scanner.nextInt();
integerList.add(tempInt);
return integerList;
}
}
catch(Exception ioException){
System.out.println("Oops, could not open 'p01-in.txt' for reading. The program is ending.");
System.exit(-100);
}
finally {
scanner.close();
}
return integerList;
}
}
我尝试在几个地方添加打印语句来缩小错误的范围。代码执行到 while 循环,然后卡住,必须手动停止。然而,让我有点失望的是,我在 while 循环的顶部添加了一条 print 语句,但我什么也没得到。所以它实际上并没有执行 while 循环本身中的任何代码,但这就是它被卡住的地方?
输入文件
2 8 3
2 9
8
6
3 4 6 1 9
qq_花开花谢_0
跃然一笑
相关分类