2017-11-10 226 views
0

我目前正在测试运行2个或更多的开关,但是我遇到了他们如何优先考虑自己的问题。例如 -如何堆叠多个交换机?

switch (Scanner Input) 
    { 
     case 1: 
     System.out.print("Example"); 
     break; 
     case 2: 
     get.example(); 
     break; 
    } 
switch (Scanner Input2) 
    { 
     case 1: 
     System.out.print("Example"); 
     break; 
     case 2: 
     get.example(); 
     break; 
    } 

如果我运行这个,它会问我的两个输入,然后打印出/运行方法。而不是开关1>运行结果>开关2>运行结果。此外,如果有修复,是否有可能在循环中完成?

希望这会产生某种感觉,我还是新的,所以我的术语是关闭的。提前感谢!

+1

我真的很难明白你想要做什么。小心进一步解释或包含所有代码。预期的输出等? –

+0

对不起,如果它不好解释。基本上,我只是想在这个命令运行它的方式..开关1>输出结果>开关2>输出结果等 截至目前它去开关1>开关2>开关1个结果>开关2分的结果。我将添加完整的代码,如果这还没有意义 –

回答

2

你可以通过你的开关逻辑移动到另一个方法,然后调用它,如果它的目的是做同样做到这一点,所以你不要把它写两次,这里的一段代码,可以帮助你,这就是如何我想你想这样做,我在那里给用户添加了一些消息。 我删除了案例中的中断,因为我使用了return,所以它将是无法访问的代码。

import java.util.Scanner; 

public class Pregunta { 

    public static void main(String[] args) { 

     Scanner scanner = new Scanner(System.in); 
     System.out.println("Press 0 to exit."); 
     int input = scanner.nextInt(); 

     while (input != 0) 
     { 
      System.out.println(switchUsersInput(input)); 
      System.out.println("Press 0 to exit."); 
      input = scanner.nextInt(); 
     } 
     System.out.println("Finish."); 
    } 



    public static String switchUsersInput(int input) 
    { 
     switch (input) 
     { 
      case 1: 
       return "Example"; 
      case 2: 
       return "Example 2 I didn't get your get.example();"; 
      default: 
       return "Chose something :)"; 
     } 
    } 

} 
+0

谢谢你帮助很大,并很好地解释:) –

+0

很高兴知道,尝试总是认为在一次写你的逻辑,而无论你叫它需要 – Ringuerel

+0

是的,我已经多次与Java的其他方面犯了同样的错误,只是刚开始使用方法/类,再次感谢您的帮助 –