如果这个问题的答案很明显,我们深表歉意!我试图在一个类的构造函数中用数字数组初始化字段号,然后在我的测试类中调用它,并将其显示为字符串,但它会不断返回null
..任何帮助将不胜感激!
这是我的具有构造函数的类:
public class NumerbList implements Number {
ArrayList<Number> numbers = new ArrayList<Number>();
//constructor taking array of type double as parameter
public NumberList(Double[] numberlist){
for(int i=0; i<numbers.size(); i++){
NumberDouble numberd = new NumberDouble(numberlist[i]);
numbers.add(numberd);
}
}
和创建
NumberList
类对象的测试类public class Test {
public static void main(String[]args){
Double[] d = {2.4, 3.6, 4.3, 5.1};
NumberList numbers = new NumberList(d);
numbers.neg();
System.out.print(numbers.asString());
}
}
抱歉,如下:
public void neg(){
for(int i=0; i < numbers.size(); i++){
numbers.get(i).neg();
}
}
和asString是:
@Override
public String asString(){
return numbers.toString();
}
我应该放
for(int i=0; i < numberlist.length(); i++;)
否定?
提前致谢!
最佳答案
问题是您的for循环使用初始化的空ArrayList作为大小。
将您的循环更改为此:
for (int i = 0; i < numberlist.length; i++) {
// your loop logic here
}
希望有帮助!