这是在Java中比较字符串的正确方法吗?

问题描述

Scanner scanner= new Scanner(system.in);
    System.out.println("Answer the following quiestions:");
      System.out.println("1-Which of these letters is not a vowel?");
    {
        String a = "a-A";
        String b = "b-I";
        String c = "c-W";//true
        String d = "d-O";
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println(d);
        String answer1 = scanner.next();
        System.out.println(answer1);
        System.out.println(c.equals(answer1));



    }

当我在Java中比较两个字符串时,即使输出应该为“ true”,它也会一直给我一个“ False”

解决方法

我想,您希望用户输入c

但是程序中的字符串cc-W。因此,如果用户输入c-W,则您的程序只会显示True。

将您的比较更改为此:

System.out.println("c".equals(answer1))
,

确保大小写正确,“ equals()”方法区分大小写,因此如果输入:“ c-w”,它将返回false。如果您不希望它区分大小写,则只需进行如下修改:

System.out.println(c.equalsIgnoreCase(answer1));

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...