当我调用类的构造函数时,我收到注释中显示的错误
(当我删除阵列部分时,一切正常)。这是因为数组 seq
的声明错误吗?
public class FibIt implements SeqIt{
public int counter;
public int ptr;
public int [] seq;
public FibIt(Fib x)
{ counter=0;
ptr=0;
seq[0]=x.first1; //gives me an error here saying Exception in
//thread "main" java.lang.NullPointerException
//at FibIt.<init>(FibIt.java:9)
//at Main.main(Main.java:6)
seq[1]=x.first2;
for (int i=2; seq[i-1]<=x.last; i++)
{seq[i]=seq[i-1]+seq[i-2];}
}
@Override
public int func2() {
// TODO Auto-generated method stub
ptr++;
return seq[ptr-1];
}
}
最佳答案
您必须初始化数组,例如 public int[] seq = new int[10];
然后将 10 替换为您需要的任何大小。
我正要回答你的问题,@Jack 发布了一个很好的解决方案。 ArrayList<Integer>
如果您不知道数组的大小,则非常有用。
关于java数组声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13373104/