为什么条件成为假值,即使ans是地狱。这个程序有什么问题吗?我正在使用blueJ for java。
import java.util.Scanner;
public class QuizContest
{
Scanner value = new Scanner(System.in);
public void Contest()
{
System.out.println("Please type- hell");
String ans=value.next();
if(ans=="hell")
{
System.out.println("Congratulation. You are right");
}
else
{
System.out.println("You are wrong");
}
}
}
答案 0 :(得分:0)
java中的comaparing字符串应该使用equals()
,而不是==
改变:
if(ans=="hell")
为:
if(ans.equals("hell"))
当您与==进行比较时,您希望两个参数都是内存中完全相同的实例。这适用于基元,但不适用于像String
这样的对象