2014-10-18 66 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; 
     } 
    }