我正在尝试制作一个程序,该程序可以读取用户输入的任何内容,并使用if..else语句检查其输入。
import java.util.Scanner;
class Answers{
public void FalseAnim() {
System.out.println("Game Over your answer is wrong. try again!");
}
public void CorrectAnim() {
System.out.println("your answer is correct");
}
}
public class quizgame {
public static void main (String[] args) {
Scanner input = new Scanner(System.in);
Answers ans = new Answers();
String strans1;
System.out.println("welcome to the quiz game!");
System.out.println("what is 1+1");
strans1 = input.nextLine();
if (strans1=="two"||strans1=="2") {
ans.CorrectAnim();
}
else {
ans.FalseAnim();
}
}
}
每次运行程序并输入任何内容时,它都会直接进入else语句,即使我输入的是“ 2”或“ 2”
答案 0 :(得分:0)
if ("two".equals(strans1)||"2".equals(strans1))
将起作用。
在代码中,您正在比较引用而不是值。因此,无论哪种方式它都返回false。