我为一个项目制作视频游戏,它是一个基于文本的RPG,可以做出很多决定(分支故事)。为了开始我的游戏,用户输入" 1"在if语句中,还有另一个if语句。但每当我运行代码时,我都会输入" 1&#34 ;, println文本会显示,构建将结束而不是继续。我可以不嵌套这样的if语句吗?
System.out.println("--------------------------");
System.out.println("# What Might've Happened #");
System.out.println("--------------------------\n");
System.out.println("You wake up. It's almost 7. Better get moving,\ncan't be late on the first day of school!");
System.out.println("1. Continue");
System.out.println("\nPress 1 and then press enter");
String input = in.nextLine();
此代码显示,但此后不会继续。
if(input.equals("1")) {
System.out.println("\nYou get to school at 7:15.\nYou can either:");
System.out.println("1. Go to your first class.");
System.out.println("2. Go see if you can make some friends.");
代码的其余部分
switch (input) {
case "1":
System.out.println("");
break;
case "2":
System.out.println("\n Do you want to go to the media center or the locker bay?");
break;
default:
System.out.println ("Invalid Command!");
break;
}
}
else {
System.out.println ("Invalid Command!");
}
答案 0 :(得分:0)
您实际上并没有要求用户提供更多输入......
String input = in.nextLine();
if(input.equals("1")) {
//... input is still equal to "1"
switch (input) {
case "1":
System.out.println("");
break;
因此,基本上,您的代码会命中if
语句,将一些文本转储给用户,执行switch
语句,其中input
仍然等于1
,打印一个空白行,然后退出main
方法并终止VM ...因为没有循环来阻止它...我认为这将在以后出现
基本上,您需要向用户请求更多输入...
String input = in.nextLine();
if(input.equals("1")) {
//... input is still equal to "1"
input = in.nextLine();
switch (input) {
case "1":
System.out.println("");
break;