【发布时间】:2021-03-17 21:34:43
【问题描述】:
我必须创建一个对象数组,但我不知道为什么它每次都实例化为 null。类的构造函数不是空的,它有2个参数,所以我不能用new Share()初始化它。
public class Portfolio {
private Share[] share;
private int noShares = 0;
public Portfolio() {} //constructor
public void addShare(Share s) {
share[noShares++] = new Share(s.getValue(), s.getCompany());
}
我也试过了,还是一样的错误
share[noShares].setValue(s.getValue));
share[noShares++].setCompany(s.getCompany);
这是最后一种方法
public double computeSum() {
int sum = 0;
for(int i = 0; i < noShares; i++) {
sum += share[noShares].getValue();
}
return sum;
}
}
【问题讨论】:
-
com.company.Portfolio.addShare(Portfolio.java:12) 出现错误
-
所以,实例化共享。
-
docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html 看看“为 10 个整数分配内存”
-
您需要执行类似
public Share[] shares = new Share[n];的操作,其中 n 是您想要的元素数。