嗨,我收到了错误:
无法为此方法找到符号 - 变量Andrew。
我需要改变什么?
/**
* 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");
}
}
}
答案 0 :(得分:2)
使用equals()
来比较字符串,==
会比较参考,也没有Andrew
答案 1 :(得分:1)
myName = Andrew;
您正在使用尚未声明的Andrew
,因此您无法使用它。
为了能够使用它,你必须首先声明(也正确初始化以在运行时看到正确的结果)
String Andrew;
之前使用它。
另一个问题是您的班级名称String
。在方法public void greeting(String name)
中,您指的是String
类,您自己的java.lang.String
。
答案 2 :(得分:1)
String myName = "Andrew";
if (name.equals(myName)) {
System.out.println("Hi");
}
最好以其他方式进行比较,例如myName.equals(name)
代替name.equals(myName)
myName
,因为name
可以是null
,因此{{1}}不为空,这将导致NullPointerException。
答案 3 :(得分:0)
试试这样:
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");
}
}
}
答案 4 :(得分:0)
String myName;
myName = Andrew;
什么是Andrey
?根据Java语法,compiller期望它是一个变量,但实际上并没有这样的变量。我想你想写一些像
String myName;
myName = "Andrew";//this is correct initialization