如何使用scanner对象比较java中的字符串
我有一个关于如何使用scanner object?在java中比较字符串的问题。我要比较的是4个州和首都 这就是我迄今为止所尝试的:如何使用scanner对象比较java中的字符串,java,Java,我有一个关于如何使用scanner object?在java中比较字符串的问题。我要比较的是4个州和首都 这就是我迄今为止所尝试的: String myString1 = new String ("state"); String myString2 = new String ("capitalstate"); System.out.println ("input state"); myString1=input.next(); if (mySt
String myString1 = new String ("state");
String myString2 = new String ("capitalstate");
System.out.println ("input state");
myString1=input.next();
if (myString1.equals("malaysia"))
{
myString2 = "kuala lumpur";
System.out.println ("capital state for " +myString1+ " is " +myString2);
}
else if (myString1.equals("south korean"))
{
myString2 = "seoul";
System.out.println ("capital state for " +myString1+ " is " +myString2);
}
您的代码可以是以下代码,并且应该可以正常工作:
Scanner input = new Scanner(System.in);
String myString1 = new String ("state");
String myString2 = new String ("capitalstate");
System.out.println ("input state");
myString1=input.next();
if (myString1.contains("malaysia"))
{
myString2 = "kuala lumpur";
System.out.println ("capital state for " +myString1+ " is " +myString2);
}
else if (myString1.equals("south korean"))
{
myString2 = "seoul";
System.out.println ("capital state for " +myString1+ " is " +myString2);
}
您正在比较字符串,那么您的问题是什么?这是个好办法吗?不,用地图代替,但它能用吗?当然可以。您正在查找:myString1.equals(scannerObj.next())?
next()
将读取到下一个空格,因此myString1.equals(“南韩”)
将始终返回false。在这种情况下,我建议尝试让您的问题更清楚。这个论坛不是一个通用的代码审查站点。你需要问一个特定的问题才能得到答案。是的,这很有效。多亏了你@PritamBanerjee。你为什么认为它能解决这个问题?你能解释一下你的解决方案吗?这样OP和其他读者就可以了解问题出在哪里,以及为什么你认为这段代码应该可以工作?因为在这种情况下,如果他有一些尾随空格,它总是会给出正确的答案什么尾随空格?请注意,myString1
是input.next()的结果代码>。否则我在他的代码中看不到任何错误。这可能是唯一的问题。