java数组声明

标签 java arrays declaration

当我调用类的构造函数时,我收到注释中显示的错误 (当我删除阵列部分时,一切正常)。这是因为数组 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/

相关文章:

java - 来自 Java UDP 的空指针异常

java - 如何从 3d 数组打印一些值

c - 如何计算 0 可以是元素的 int 类型数组中的元素数?

javascript - 将属性和值推送到嵌套数组中的特定位置

javascript - jQuery - 使用 inArray() 查找 jQuery 对象的索引

c++ - 我可以依靠我的编译器来诊断 TU 中的类型不匹配吗?

javascript - 需要帮助获取 JavaScript 中的变量

java - 如何修复运行时不显示的 Activity

java - 在 Service 类中获取 Spring ThreadPoolExecutor

Python类声明 "positional argument"错误