2013-10-21 58 views
0

我正在嘗試使用bufferedReader進行練習,所以每次按下控制檯中的回車鍵時,它都會給出正確的答案,但不會在一次輸入命中後按下多次輸入以便得到結果。BufferedReader readline

我對BufferedReader類代碼:

InputStreamReader irs = new InputStreamReader(System.in); 
     BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
     String choose = br.readLine(); 

我的if語句的BufferedReader中:

if ((choose = br.readLine()).equals("1)) { 
      System.out.println("You chose: " + option1); 
     } else if ((choose = br.readLine()).equals("2")) { 
      System.out.println("You chose: " + option2); 
     } else if ((choose = br.readLine()).equals("3")) { 
      System.out.println("You chose: " + option3); 
     } 

從控制檯結果:

your choice: 

1 

1 

You chose: Dog 

我應該進入選擇更多爲了得到結果,要比一次更好。 有關如何糾正這個問題的任何建議? 謝謝!

+1

您應該只從閱讀器讀一次。每次調用readLine()都會使流前進,並返回null。 –

回答

4

您每次撥打電話readLine時正在閱讀另一行輸入。您已在choose中輸入;每次有條件時都不需要撥打readLine

只需使用

if ((choose.equals("1")) { 

和類似的其他條件。

+0

非常感謝!有效。 – hamod90

1
choose = br.readLine(); 
if(choose.equals("1")) 
//.... 
else if(choose.equals("2")) 
//.... 
//and so on 
相關問題