Java:比较扫描仪和字符串

时间:2018-06-17 06:20:58

标签: java

对于这个蹩脚的问题感到抱歉,但我是Java的新手,我正努力去理解一切。 我试着开始简单并随时学习,所以我认为一个计算器将是一件好事。 无论如何,我试图让用户输入他们想要的操作(加法,减法,除法,乘法)。

我想要它,所以它问,你想要什么操作,你说的话:分开。 然后它会问你的号码,你可以开始。

我的问题是当我输入除法时,代码将其读作除数,但是当将输入与字符串进行比较时,它不起作用。有什么帮助吗?

Scanner reader = new Scanner(System.in); //Reading from System.in
System.out.println("Please tell me what command you would like to use");
String command = reader.next();
System.out.println("Your input was: " + command);
if (command == "divide") {
    System.out.println("Please enter your first number:");
}else {
    System.out.println("Invalid command, please say divide, multiply, add, or subtract");
}

2 个答案:

答案 0 :(得分:0)

您应该使用equalIgnoreCase()方法比较字符串。 As ==运算符比较引用。

if(command.equalsIgoreCase("divide"))

答案 1 :(得分:0)

使用String.equals

if(command.equals("divide"))

==比较对象引用,String.equals()比较字符串值。这意味着==运算符检查两个字符串是否完全相同,并且.equals()方法将检查两个字符串是否具有相同的值。