我是java语言的新手,并试图运行一个简单的基于文本的程序,一旦你按1或0它将继续故事或停止它.我无法弄清楚的是,如果我在下面运行这部分代码并且我选择了错误的答案它会绕过我的if语句.
package game;
import java.util.Scanner;
class chase {
public static void main (String args[]){
int answer1;
answer1 = 1;
Scanner chase = new Scanner(System.in);
System.out.println("You hear a noise form a house you walk by. What do you do?");
System.out.println("Press 1 to enter the house. Press 0 to run away like a panzy");
chase.nextLine();
if (answer1 == 1){
System.out.println("Good Choice!");
}else{
System.out.println("You ran away and was crushed by a falling pig");
System.out.println("Try again!");
}
}
}
Run Code Online (Sandbox Code Playgroud)
我试图做的是,一旦你推动它说"好选择!" 一旦你按0就会运行else语句.但每次推0都会说"好选择!"
我不知道我做错了什么.请帮忙.
问题出在这里:
chase.nextLine();
Run Code Online (Sandbox Code Playgroud)
你应该阅读一个数字,answer1而不是只读一条线并扔掉它:
answer1 = chase.nextInt();
Run Code Online (Sandbox Code Playgroud)
这也将使你不再需要这answer1 = 1;条线.由于您只是忽略了您读入的数据行,这意味着您永远不会更改其值answer1,因此1无论您键入的是什么,它始终都是如此.
| 归档时间: |
|
| 查看次数: |
380 次 |
| 最近记录: |