在Java中找不到符号错误消息

在Java中找不到符号错误消息,java,string,Java,String,嗨,我得到了错误信息: 找不到此方法的符号变量 我需要改变什么 /** * Create a method that says hi if the name is the same as yours and go away otherwise. * * @author (your name) * @version (a version number or a date) */ public class String { public void greeting(String name) {

嗨,我得到了错误信息:

找不到此方法的符号变量

我需要改变什么

/**
* Create a method that says hi if the name is the same as yours and go away otherwise.
* 
* @author (your name) 
* @version (a version number or a date)
*/
public class String
{
public void greeting(String name) {
    String myName;
    myName = Andrew;
    if (name == myName) {
        System.out.println("Hi");
    }
        else {
            System.out.println("Go away");
        }

    }

}
使用等于来比较字符串,==将比较引用,也没有Andrew的声明

public class String
{
public void greeting(String name) {
    String myName;
    myName = "Andrew";
    if (name.equals(myName)) {
        System.out.println("Hi");
    }
        else {
            System.out.println("Go away");
        }

    }

}
这里您正在使用尚未声明的Andrew,因此您无法使用它

为了能够使用它,您必须首先正确地声明并初始化,以便在运行时看到正确的结果

String Andrew;
在你使用它之前就这样

另一个问题是类名字符串。在方法public void greetingString name中,您指的是哪个字符串类,您自己的还是java.lang.String

安德烈是什么?根据Java语法,编译器期望它是一个变量,但实际上并没有这样的变量。我想你想写点什么

String myName;
myName = "Andrew";//this is correct initialization

最好以另一种方式进行比较,例如myName.equalsname代替name.equalsmyName,因为myName肯定不是空的,而name可以是空的,这将导致NullPointerException。

在这种情况下,建议让andrew以非大写字母开头。@MarchingHome:是,我想补充一下,但我有什么要补充,什么不需要补充。我认为他最好了解Java命名约定。请接受其中一个答案作为您问题的答案,如果对您有帮助,请向上投票。当有人花时间帮助你时,这是你能做的最起码的事。你问了六个问题,都得到了答案,但从未接受过其中一个。
String myName;
myName = Andrew;
String myName;
myName = "Andrew";//this is correct initialization
String myName = "Andrew";
if (name.equals(myName)) {
    System.out.println("Hi");
}