java为什么我的代码在使用if语句时没有给出正确的答案?
这是包含main的类
import java.util.Random;
public class RandomTest {
public static void main(String[] args) {
String name;
Random r = new Random();
int number = 1 + r.nextInt(3);
System.out.println(number);
if (number == 1) {
name = "Kobe";
}
else if (number == 2) {
name = "Mamba";
}
else {
name = "lol";
}
RandomTest2 object = new RandomTest2(name);
System.out.println(object.toString());
}
}
此类包含其他方法
public class RandomTest2 {
private String name;
public RandomTest2(String name) {
name = name;
}
public String getName() {
return name;
}
public String toString() {
return getName();
}
}
如果我删除If语句,并直接给name赋值,它就会工作
我只想随机分配属性给对象
# 1 楼答案
类随机测试2->;构造函数方法->;这name=name
# 2 楼答案
您刚刚在构造函数中错过了一个
this
:没有它,您只需将
name
参数分配给自身不用担心,这会让每个Java程序员至少有一次机会;-)
# 3 楼答案
关于此功能:
编译器需要理解的是,您为自己指定了名称,而不是为RandomTest2上的name变量指定名称。所以把它改成
this.name = name.