3 回答

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超10個贊
最后一個hasNextInt()
將讀取帶有回車符的元素。即該元素將為3\r\n
. 這顯然不是 int,因此它將無法通過測試file.hasNextInt()

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超8個贊
當(dāng)它到達(dá)第 1 行末尾時,即值 3 之后,有一個“返回字符”,它不是整數(shù)。從那里開始,您對 hasNextInt() 的測試開始失敗。所以它最多只打印 3。即 1 2 3

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超6個贊
行尾旁邊的 1hasNextInt()將返回 false,因?yàn)樗祷?\r\n,從而導(dǎo)致問題。
簡單的解決方案可以是 -
public static void main (String[] args) throws Exception {
Scanner file = new Scanner(new File("test.txt"));
file.useDelimiter("/");
while (file.hasNext())
System.out.println(file.next());
}
輸出現(xiàn)在看起來像 -
1
2
3
4
5
6
添加回答
舉報