我需要添加有关2个演员的信息,例如他们的姓名,地址和年龄,并且这样做很容易,没有数组,但是有必要,我不断收到错误消息
“无法调用“ TestActor.setName(String)”,因为“ actors [0]”为空 在TestMain.main(TestMain.java:5)“
这只是我用来测试的测试主体 '''
library(rdrobust)
rdplot(y = dt$treated, x = dt$score)
这是我正在使用的演员类,我需要从中设置信息
nbins
我知道toString暂时不做任何设置。这可能有点混乱,我可能走错了路。使用数组我可以相对容易地做到这一点,但是它们有点让我难过,而且我不确定百分百地坚持要前进的方向。
答案 0 :(得分:1)
编译器在抱怨,因为您没有正确初始化TestActor
对象。您应该这样做:
actor[0] = new TestActor("Jack Nicholson", "Miami.", 74);
actor[0].printAct();
如果您不想执行此操作并手动使用设置器,则需要在TestActor
中定义一个默认构造函数:
public TestActor() { }
那么您应该可以像这样在数组中使用它:
actor[0] = new TestActor();
actor[0].setName("Jack Nicholson");
actor[0].setAddress("Miami.");
actor[0].setAge(74);
actor[0].printAct();
答案 1 :(得分:0)
创建TestActor[] actor = new TestActor[2];
时,正在创建引用类型对象的数组。因此,actor[0]
和actor[1]
都引用null。首先创建TestActor
并将对象分配给数组。喜欢:
TestActor actorOne = new TestActor("s", "g", 0);
actor[0] = actorOne;
OR
TestActor[] actor = new TestActor[2];
actor[0]= new TestActor ("Jack Nicholson", Miami.", 74);
actor[0].printAct();
答案 2 :(得分:0)
似乎您的问题是将Actor初始化为空字符串而不是TestActor对象:
actor [0] =(“”);
相反,请尝试:
actor [0] = new TestActor(“ Jack Nicholson”,“ Miami。”,74);
每个TestActor都需要实例化,这样才能实例化TestActors并填充所需的字段。