所以我遇到了问题,我使用这样的扫描仪:
import java.util.Scanner;
public class Test{
public static void main(String[] args){
Scanner a = new Scanner(System.in);
String b = a.nextLine();
switch(b){
case "Hello":
System.out.println("Hello to you");
break;
case "Hi":
System.out.println("Hi to you");
break;
default:
System.out.println("Good day");
String c = a.nextLine();
switch(c){
case "Bye":
System.out.println("Bye to you");
break;
case "Good bye":
System.out.println("Good bye...");
break;
default:
System.out.println("...");
}
}
}
}
所以我没有得到任何错误,但是当我尝试运行它时,我只能从b获得输入但不能从c获得输入因为中断;。我如何解决这个问题?我已经尝试在切换/案例之后创建一个新的扫描仪但是也没有用。
答案 0 :(得分:3)
在开始第二次切换之前,您没有关闭第一个switch语句。在}
块中的默认语句后面放置一个右括号switch(b)
。现在编写的方式是,switch(c)
语句只会作为FIRST switch语句中default:
分支的函数执行。运行您的代码导致第一个开关变为默认值,您将注意到第二个switch语句运行。
总结:在}
System.out.println("Good day");