2014-05-02 81 views
0

我有一個簡單的程序,我只是提示輸入一個項目,while循環將繼續詢問,直到我輸入單詞「結束」,那麼它將結束程序。當我輸入一個單詞,像這樣:enter image description here爲什麼我的字符串不能正確輸出我的值?

它看起來不錯,但是當我進入2個字一個項目這樣我得到這樣的輸出: enter image description here

通知如何當我進入「綠,黃」這提示我在那之後輸入一個項目兩次? 我不明白爲什麼它這樣做?

import java.util.Scanner; 


public class ToDoListapp { 

    public static void main(String[] args) /*throws IOException*/ { 
     // TODO Auto-generated method stub 

     Scanner sc = new Scanner(System.in); 

     System.out.println("Welome to your TodoList"); 
     boolean keepAdd = true; 
     String item; 

     //file 
     //PrintWriter writeFile = new PrintWriter("TodoList.txt", "UTF-8"); 


     // File file = new File("ToDo.txt"); 
     // BufferedWriter writeTo = new BufferedWriter(new FileWriter(file)); 




     while (keepAdd) 
     { 
      System.out.println("Enter an item: "); 
      item = sc.next(); 

      if (item.equals("end")) 
      { 
       keepAdd = false; 

      } 
     // writeTo.write(item + "\n"); 



     } 
     //writeTo.close(); 

    } 

} 

回答

2

Scanner的默認行爲是使用空格作爲分隔符,它將用於將輸入分爲標記。如果您只是想使用換行符作爲分隔符,請嘗試顯式設置分隔符。

Scanner sc = new Scanner(System.in); 
    sc.useDelimiter(System.getProperty("line.separator")); 

    System.out.println("Welome to your TodoList"); 
     boolean keepAdd = true; 
     String item; 

    // The rest of your code 
相關問題