2

这是我当前的代码:


import java.util.Scanner;
public class Random {
  public static void main(String ars[]){
        Scanner input = new Scanner(System.in);
        System.out.println("Welcome"); 
        hey = input.nextLine();

        if(hey == "M"){
            System.out.println("Yup");
        }else{ 
            System.out.println("Nope"); 
        }
    }
}

我对 Java 很陌生,对我来说,这看起来应该可以工作,但是 Java 告诉我“嘿,不能解析为变量。

我在互联网上浏览了一些不同的Java参考指南,想了一会儿,我仍然无法弄清楚为什么它不起作用。

4

1 回答 1

6

你在哪里声明 hey 变量?

回答:你没有。

所以声明它:

String hey = input.nextLine();

还,...

不要使用==. 请改用equals(...)orequalsIgnoreCase(...)方法。了解 == 检查两个对象是否相同,这不是您感兴趣的。另一方面,这些方法检查两个字符串是否具有相同顺序的相同字符,这在这里很重要。所以而不是

if (fu == "bar") {
  // do something
}

做,

if ("bar".equals(fu)) {
  // do something
}

或者,

if ("bar".equalsIgnoreCase(fu)) {
  // do something
}
于 2012-05-26T13:02:33.077 回答