我是学习Java的初学者,并通过回答以前过去试卷上的问题来修改我的考试,并且有一个问题我被困住了。
考虑下面的代码片段,它读取输入命令然后对其进行处理。
String cmd = scanner.next();
if (cmd == "forward" )
robot.forward(1);
else if (cmd == "turn" )
robot.turn();
else
System.out.println("Unknown command: " + cmd);
在测试程序时,扫描仪将字符串“forward”读入 cmd,但程序输出“Unknown command: forward”。
a) 详细解释为什么会发生这种情况。
b) 应对代码进行哪些更改以纠正此错误。
如果有人可以帮助我回答问题a)和b),我将不胜感激。
ps 我知道这不是一个只寻找答案的网站(#noeasywayout),所以我会尽量不要在这里贪婪。对于任何不便,我深表歉意。