Java-IF条件未读取输入的字符串变量值

时间:2018-10-04 16:03:50

标签: java

import java.util.Scanner;

public class Main
{
    public static void main(String[] args) 
    {
        Scanner scan = new Scanner(System.in);
        String play = "y";
        System.out.print("Enter something: ");
        play = scan.next();
        System.out.println(play);
        if (play == "Y" || play == "y")
        {
            System.out.println("If test works!!");
        }
        System.out.println("Did it work???");
    }
}

我认为这与按下回车键有关,它也存储了它。我尝试将String play更改为char,但是随后从Scanner收到错误消息,提示它无法将String更改为char。

1 个答案:

答案 0 :(得分:1)

比较对象(尤其是字符串)时,您最多应避免使用“ ==”。 “ ==”检查对象引用。将比较更改为使用 .equals 方法,它应该可以工作

if(play.equals(“Y”) || play.equals(“y”))

如果“播放”可以为null,则下面的代码段更加安全。

if(“Y”.equals(play) || y.equals(play))