字符串在Java中找不到符号错误消息
嗨,我得到了错误信息:
cannot find symbol - variable Andrew for this method.
我需要改变什么
/**
* 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");
}
}
}
# 1 楼答案
试着这样做:
# 2 楼答案
使用
equals()
来比较字符串,==
将比较引用,并且没有Andrew
的声明# 3 楼答案
什么是
Andrey
?根据Java语法,编译器期望它是一个变量,但实际上并没有这样的变量。我想你想写点什么# 4 楼答案
您正在使用尚未声明的
Andrew
,因此无法使用它要使用它,您必须首先声明(也要正确初始化,以便在运行时看到正确的结果)
在你使用它之前就这样
另一个问题是类名
String
。在方法public void greeting(String name)
中,您指的是您自己的类还是java.lang.String
类# 5 楼答案
最好以另一种方式进行比较,例如
myName.equals(name)
代替name.equals(myName)
,因为myName
肯定不是空的,而name
可以是null
,这将导致NullPointerException