java中的扫描仪库问题
为什么即使ans是地狱,条件也会变成假值。程序有什么问题吗。我正在使用blueJ for javajava中的扫描仪库问题,java,Java,为什么即使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();
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");
}
}
}
在java中,应该使用
equals()
,而不是=
更改:
致:
当您与==进行比较时,您希望这两个参数在内存中是完全相同的实例。这适用于基本体,但不适用于字符串之类的对象。我想要的可能是字符串的副本。我刚从C++中转移了,谢谢
if(ans=="hell")
if(ans.equals("hell"))