2016-03-06 67 views
0

我是新來java編程。我的代碼有問題,無論我嘗試什麼,我都會收到此錯誤。所以我有一個主類和一個Pair類(它有2個成員變量(private int a,private int b),Pair類有它的setter和getters。我一直試圖創建一個Pair數組並初始化它,但是我不斷收到此錯誤:異常線程 「main」 顯示java.lang.NullPointerException在主錯誤:java.lang.NullPointerException

package com.company; 

import java.util.Scanner; 

public class Main { 

public static void main(String[] args) { 
    Scanner sc = new Scanner(System.in); 
    System.out.println("enter a puis b"); 
    int x=0; 
    int y=0; 

    Pair p []= new Pair[6]; 

    for (int i = 0; i < p.length; i++) { 
     x = sc.nextInt(); 
     y = sc.nextInt(); 
     p[i].setA(x); 
     p[i].setB(y); 
    } 
    for (int i = 0; i < p.length; i++) { 
     System.out.println(p[i]); 
    } 


} 
} 

繼承人的Pair類:

public class Pair { 
private int a = 0; 
private int b = 0; 

public Pair() { 
    this.b = 0; 
    this.a = 0; 
} 

public int getA() { 
    return a; 
} 

public void setA(int x) { 
    a = x; 
} 

public int getB() { 
    return b; 
} 

我需要一些幫助,感謝您的時間:)

+2

你需要使用它之前到陣列中的每個元素初始化 - 'P [i] =新Pair();' – Filkolev

+0

thaaaank youu so muuch – programmer

回答

0

您並未初始化陣列中的每個成員,您需要使用:

p[0] = new Pair();等等......

你可以做到這一點你for循環中:

for (int i = 0; i < p.length; i++) { 
    p[i] = new Pair(); 
    ... // more code 
} 
+1

非常感謝你!我感謝幫助 – programmer

相關問題