问题描述
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
。
但是程序中的字符串c
是c-W
。因此,如果用户输入c-W
,则您的程序只会显示True。
将您的比较更改为此:
System.out.println("c".equals(answer1))
,
确保大小写正确,“ equals()”方法区分大小写,因此如果输入:“ c-w”,它将返回false。如果您不希望它区分大小写,则只需进行如下修改:
System.out.println(c.equalsIgnoreCase(answer1));