2013-11-26 61 views
3

我很困惑。我需要創建一個構造函數來創建一個2d數組,其中包含從main方法調用的參數。每當我在同一個類的另一個方法中調用Seats 2D數組時,我會得到一個錯誤。爲什麼是這樣的,我如何使用我在構造函數中創建的數組?在java構造函數中實例化2d數組?

class MovieSeating 
{ 

public MovieSeating(int rowNum, int columnNum) 
{ 
    String [][] Seats = new String[rowNum][columnNum]; 
    for (int r = 0; r < rowNum; r++) 
    { 
     for (int c = 0; c < columnNum; c++) 
     { 
      Seats[r][c] = "???"; 
     } 
    } 
} 

private Customer getCustomerAt(int row, int col) 
{ 
    System.out.println("Customer at row " + row + " and col " + col + "."); 
    System.out.println(Seats[row][col]); 

} 
+0

'我得到一個error',什麼是錯誤? –

+1

找不到符號。 – CuriousFellow

+1

我添加了下一個方法,以便您可以看到我在做什麼。 – CuriousFellow

回答

0
class MovieSeating{ 

private String[][] seats; 

public MovieSeating(int col, int row){ 
    seats = new String[row][col]; 
} 
} 

請席位實例變量增加了它的範圍。

0

Seatsmain中是未知的,它只在構造函數的範圍內是已知的。

你應該讓一個class member並在構造函數初始化:

class MovieSeating { 
    private String [][] Seats; 
    .. 
    public MovieSeating(int rowNum, int columnNum) { 
     Seats = new String[rowNum][columnNum]; 
     .. 
    } 
} 
+0

我不知道如何解決這個問題。 – CuriousFellow

+0

@ user2875661查看我鏈接到的教程,並查看我的更新。 – Maroun

3

你是一個很好的軌道,但你必須做出Seats實例變量,以獲得正確的結果:

private String [][] Seats; 
public MovieSeating(int rowNum, int columnNum) 
{ 
    Seats = new String[rowNum][columnNum]; 
    for (int r = 0; r < rowNum; r++) 
    { 
     for (int c = 0; c < columnNum; c++) 
     { 
      Seats[r][c] = "???"; 
     } 
    } 
} 
1

將構造函數外的數組聲明爲私有變量:

class MovieSeating 
{ 
    private String [][] Seats; 
public MovieSeating(int rowNum, int columnNum) 
{ 
    Seats = new String[rowNum][columnNum]; 
    for (int r = 0; r < rowNum; r++) 
    { 
     for (int c = 0; c < columnNum; c++) 
     { 
      Seats[r][c] = "???"; 
     } 
    } 
} 

private void getCustomerAt(int row, int col) 
{ 
    System.out.println("Customer at row " + row + " and col " + col + "."); 
    System.out.println(Seats[row][col]); 

} 
} 
0

這裏我發送代碼剪斷我希望這將幫助ü

public Charts(int graph_min, int graph_max, double[] dataset, int stepSize,double[][] percentRange) { 
 

 
//here double[][]={{10},{100}}; 
 
\t \t this(graph_min,graph_max,dataset); 
 
\t \t this.stepSize = stepSize; 
 
\t \t 
 
\t \t System.out.println("double constructor "+percentRange.length); 
 
\t \t this.percentRange = new double[percentRange.length][percentRange[0].length]; 
 
\t \t System.out.println("percentRange: "+this.percentRange); 
 
\t \t for (int i = 0; i < percentRange.length; i++) { 
 
\t \t \t 
 
\t   for (int j = 0; j < percentRange[i].length; j++) { 
 
\t    \t this.percentRange[i][j] = percentRange[i][j]; 
 
\t    \t System.out.println("ps_Axis constructor valuesd "+this.percentRange[i][j]); 
 
\t   } 
 
\t   
 
\t }

相關問題