在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");
}