所以我試圖創建一個簡單的程序,該對象具有Integer數組作爲成員,並且使用toString()方法打印出數組中的所有元素。代碼是這樣的:構造函數在使用Integer數組時不起作用
public final class IntegerArray {
private int a[];
IntegerArray(int a[])
{
for(int i=0; i<a.length; i++) this.a[i]=a[i];
}
public String toString()
{
String fin=new String();
fin+='[';
for(int i=0; i<a.length-1; i++)
{
fin+=a[i]+", ";
}
fin+=a[a.length-1];
fin+=']';
return fin;
}
}
public class IntegerArrayTester {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan=new Scanner(System.in);
Random random=new Random();
int[] a={1, 5, 3, 7};
IntegerArray A=new IntegerArray(a);
System.out.println(A.toString());
}
}
但是,當我運行該程序時,它給了我2個錯誤。一個在構造函數和另一個當我初始化從類對象:
Exception in thread "main" java.lang.NullPointerException
at main.IntegerArray.<init>(IntegerArray.java:9)
at main.IntegerArrayTester.main(IntegerArrayTester.java:14)
有人可以告訴有什麼問題,我該如何解決?
預先感謝您!
'this.a [i]'是問題所在,你不需要先初始化數組... – AxelH
不需要循環,你只需要分配給它。 'this.a = a;'easy –