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

共 (1) 个答案

  1. # 1 楼答案

    java中的字符串压缩应该用equals()完成,而不是== 改变:

    if(ans=="hell")
    

    致:

    if(ans.equals("hell"))
    

    当您与==进行比较时,您希望这两个参数在内存中是完全相同的实例。这适用于基本体,但不适用于字符串等对象