2014-10-18 62 views
0

輸出字符串所以我只是有一個快速的小問題如何自動循環

int pickmeup = 0; 
     while (true) 
     { 
     pickmeup = scanner.nextInt(); 
     if (pickmeup == 1) 
     {System.out.println ("you entered 1");} 
     if(pickmeup == 2) 
     {System.out.println ("you entered 2");} 
     { 
      break; 
     } 
    System.out.println ("Invalid code"); 

現在,當我然而,在關於字符串運行這段代碼這一切工作正常,但它好像循環沒有按」當我輸入'3'時,所有的工作都很好,因爲它不會返回字符串'無效的代碼'。

如果我在兩個if語句之後擺脫了字符串,那麼它工作得很好。我究竟做錯了什麼?是否有其他方法來自動輸出字符串?

+0

此代碼由於不匹配的{{。 – BitNinja 2014-10-18 22:36:34

+0

((pickmeup == 1)是你的真實代碼 – 2014-10-18 22:36:45

+0

對不起,我關閉了字符串的括號,如果這就是你的意思 – 2014-10-18 22:37:15

回答

1

我相信你想使用一個邏輯或||else一樣,

int pickmeup; 
while (true) { 
    pickmeup = scanner.nextInt(); 
    if (pickmeup == 1 || pickmeup == 2) { 
     System.out.printf("you entered %d%n", pickmeup); 
    } else { 
     System.out.println("Invalid code"); 
    } 
} 

或者,你可以使用一個else if鏈一樣,

int pickmeup; 
while (true) { 
    pickmeup = scanner.nextInt(); 
    if (pickmeup == 1) { 
     System.out.println("you entered 1"); 
    } else if (pickmeup == 2) { 
     System.out.println("you entered 2"); 
    } else { 
     System.out.println("Invalid code"); 
    } 
} 
+0

它很有趣,我嘗試了一個或者一個聲明,但是我有問題弄清楚如何讓這些字符串爲它工作。這看起來有希望。謝謝! – 2014-10-18 22:49:30

0

您可以用先糾正啓動代碼,你可以用eclipse Source-Format或按CTRL + SHIFT + F

對於你的例子,我糾正了儘可能多的理解,目前只有在達到其他情況下才會中斷。休息可以修改。

public static void main(String[] args) { 
    Scanner scanner = new Scanner(System.in); 
    int pickmeup = 0; 
    while (true){ 
     pickmeup = scanner.nextInt(); 
     if (pickmeup == 1){ 
      System.out.println("one"); 
     } 
     else if (pickmeup == 2){ 
      System.out.println("two"); 
     } 
     else{ 
      System.out.println("Invalid code"); 
      break; 
     } 
    }