如何使用scanner对象比较java中的字符串

如何使用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

我有一个关于如何使用scanner object?在java中比较字符串的问题。我要比较的是4个州和首都

这就是我迄今为止所尝试的:

    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()的结果。否则我在他的代码中看不到任何错误。这可能是唯一的问题。