2017-01-19 6 views
-1

So habe ich ein 2D-Array, das ich in einer Tester-Klasse erstellen und dann versuche ich es zu senden und erstellen Sie ein Duplikat im Konstruktor, aber erhalten Sie einen Null-Fehler. Wo gehe ich falsch? Der Konstruktor:übergibt ein 2d-Array an einen Konstruktor

public TheaterSeatSeller(int[][] newSeats) 
{ 
    for(int i=0; i<newSeats.length; i++) 
    { 
    for(int j=0; j<newSeats[i].length; j++) 
    { 
    seats[i][j]=newSeats[i][j]; 
    } 
    } 

} 

und dann die Tester Klasse

public static void main(String[] args){ 
    //initialize the available seats 
    int[][] emptySeats = { 
     {10,10,10,10,10,10,10,10,10,10}, 
     {10,10,10,10,10,10,10,10,10,10}, 
     {10,10,10,10,10,10,10,10,10,10}, 
     {10,10,20,20,20,20,20,20,10,10}, 
     {10,10,20,20,20,20,20,20,10,10}, 
     {10,10,20,20,20,20,20,20,10,10}, 
     {20,20,30,30,40,40,30,30,20,20}, 
     {20,30,30,40,50,50,40,30,30,20}, 
     {30,40,50,50,50,50,50,50,40,30}}; 
    TheaterSeatSeller mySeats = new TheaterSeatSeller(emptySeats); 
    } 
+0

Was ist der genaue Fehler? Botschaft? Zeilennummer? Danke –

+0

Mögliche Duplikate von [Was ist eine NullPointerException, und wie kann ich es beheben?] (http://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-do-i-fix- it) – Keiwan

+0

Hinweis: Es gibt keine 2D-Arrays in Java, Sie verwenden ein Array von Arrays –

Antwort

0

Sie müssen die Sitze Array initialisieren, bevor Sie den Wert zuweisen. Dies sollte es beheben.

public TheaterSeatSeller(int[][] newSeats) { 
    seats = new int[newSeats.length][newSeats[0].length]; 
    for (int i = 0; i < newSeats.length; i++) { 
     for (int j = 0; j < newSeats[i].length; j++) { 
      seats[i][j] = newSeats[i][j]; 
      System.out.println(seats[i][j]); 
     } 
    } 

} 
Verwandte Themen