爲什麼不打印「完成」?循環掃描輸入後無法打印行 - Java
public class Main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
while (s.hasNext()) {
System.out.println(s.nextInt());
}
System.out.println("done");
}
}
它打印輸入就好,但不打印完成的單詞。
編輯如果空間在控制檯中分離出來,然後我輸入整數按下Enter鍵,它打印我在一個單獨的行中輸入的所有整數,但它只是不打印畢竟是
完成的字編輯
這個工程......但似乎不是很優雅
public class Main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int temp;
while (s.hasNext()) {
temp = s.nextInt();
if (temp != -99) {
System.out.println(temp);
} else {
break;
}
}
System.out.println("done");
}
}
輸入流是否結束? (在Linux上按Ctrl-D,在Windows上按Ctrl-Z然後輸入) – immibis
我不知道我理解你的問題。如果掃描儀hasNext()但它是空的,它不應該繼續打印0嗎? – A2345sooted
它會等到你輸入一些東西。如果您正在從文件中讀取文件,並且您到達文件末尾,或者您正在從網絡連接讀取並且服務器已關閉連接,則hasNext會返回false。 – immibis