我是Java的新手,刚刚开始做一些朋友发给我的练习。有问题的练习要求我们为多项式项创建一个类Term,另一个类Polynomial本身,其中多项式表示为固定大小的数组,并提供其字段的值。我写了以下代码:
class Term
{
int coeff;
int exponent;
}
public class Polynomial {
static int size=5;
Term[] poly;
public Polynomial()
{
poly = new Term[size];
for(int i=0;i<size;i++)
{
poly[i].coeff=0;
poly[i].exponent=0;
}
}
public static void main(String args[]) throws Exception
{
Polynomial p = new Polynomial();
}
}
我一直得到以下例外:
Exception in thread "main" java.lang.NullPointerException
at prac.polynomial.<init>(polynomial.java:25)
at prac.polynomial.main(polynomial.java:34)
请帮助我解决我在这里做错的事。
答案 0 :(得分:2)
默认情况下,Object数组的数组元素为null
。在尝试访问其字段之前,请确保它们已初始化
for (int i = 0; i < size; i++) {
poly[i] = new Term();
...
}
答案 1 :(得分:1)
您创建了Term
s的数组,但它已初始化为所有null
。您需要创建Term
s。
for(int i=0;i<size;i++)
{
poly[i] = new Term();
poly[i].coeff=0;
poly[i].exponent=0;
}