簡體   English   中英

Java掃描器每兩個值讀取一次

[英]java Scanner reads one every two values

好的,因此該段代碼應該使用掃描儀(此處稱為讀取器)讀取用戶的輸入並將其寫入文件。 這里的問題是,掃描儀無一例外地讀取每個值……因此,如果用戶輸入“ 1”,“ 2”,“ 3”,“ 4”,則僅輸入“ 2”和“ 4”保存到文件中。 沒有例外。

同樣,有必要寫兩次“退出”來打破循環,這取決於添加的項目數是偶數還是奇數...

為什么會這樣呢? 有任何想法嗎?

while (reader.hasNext()) {

            String valor = null;
            // We check for a "quit" to stop adding items to the array list..
            if (reader.next().equals("quit")){
                break;
            } else {

            valor = reader.next();

            fileManaging arxiu = new fileManaging();
            fileManaging.createFile(valor);



            }

        }

更改以下代碼:

if (reader.next().equals("quit")){
            break;
        } else {

valor = reader.next();

有了這個:

valor = reader.next();
if (valor.equals("quit")){
            break;
        } else {

通過兩次調用reader.next()您每次迭代都要消耗掃描儀兩次。

請嘗試:

String valor = reader.next();
if (!valor.equals("quit")) {
    fileManaging arxiu = new fileManaging();
    fileManaging.createFile(valor);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM