java中的扫描程序库问题

时间:2015-12-25 10:27:10

标签: 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();       
    if(ans=="hell")
    {
        System.out.println("Congratulation. You are right");
    }
    else
    {
        System.out.println("You are wrong");
    }
}
}

1 个答案:

答案 0 :(得分:0)

java中的comaparing字符串应该使用equals(),而不是== 改变:

if(ans=="hell")

为:

if(ans.equals("hell"))

当您与==进行比较时,您希望两个参数都是内存中完全相同的实例。这适用于基元,但不适用于像String

这样的对象