在If、else和JAVA语句中使用字符串
我正在尝试制作一个程序,可以读取用户输入的任何内容,并使用if..else语句检查他们的输入在If、else和JAVA语句中使用字符串,java,string,Java,String,我正在尝试制作一个程序,可以读取用户输入的任何内容,并使用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() {
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”
会有用的
在代码中,比较的是引用,而不是值。因此,无论哪种方式,它都返回false。
如果(“two”.equals(strans1)| |“2”.equals(strans1)){…}
,因为在Java=
中,它意味着引用等式更好(“two”.equals(strans1)|“2”.equals(strans1)
为安全起见,以防strans1
为null
抱歉,问题重复。在任何地方都找不到我问题的答案!谢谢您的回答。
if ("two".equals(strans1)||"2".equals(strans1))