有没有人能够告诉我为什么这段代码没有打印到输出?我没有收到任何错误,但它只是不打印。它是从.txt文件中读取的(在下面的代码下面)。
代码:
public class ReadFromFile {
public static void main(String[] args) throws FileNotFoundException {
File file = new File("CarInfo.txt");
try (Scanner sc = new Scanner(file)) {
while (sc.hasNext()) {
String carTab = sc.next();
// Looking for tag 'Station:'
if (!carTab.equals("Car:")) continue;
if (!sc.hasNext()) {
break;
}
Car = sc.next();
if (!sc.hasNextInt()) {
continue;
}
int x = sc.nextInt();
if (!sc.hasNextInt()) {
continue;
}
int y = sc.nextInt();
System.out.println(car + " " + x + " " + y);
}
} catch (FileNotFoundException e) {
System.out.println("File not found");
}
}
}
答案 0 :(得分:0)
使用nextLine()而不是next()。 nextLine()可以使用回车
next()可能会在等待输入扫描时阻塞,即使之前的hasNext()调用返回true也是如此。
每次调用nextInt()时,它只读取数字,并且在数字后不会消耗任何内容