1

2 次元配列の価格 [] [] の値 (整数) を、配列 seatArray [] [] 内のオブジェクトのコスト変数に入れようとしています。問題は、seatArray配列がnullへのオブジェクト参照だけでいっぱいであるため、価格配列の値を何も入れようとしていることだと思います。これを修正するにはどうすればよいですか?

コンストラクターを呼び出す行:

        SeatChart seatArray = new SeatChart(givenArray);

コンストラクター メソッド:

public SeatChart(int[][] prices)
{
    Seat[][] seatArray = new Seat[9][10];
    for(int i = 0; i < 9; i++)
    {   
        for(int j = 0; j < 10; j++)
        {
            seatArray[i][j].cost=prices[i][j];
        }
    }
}
4

2 に答える 2

6
Seat[][] seatArray = new Seat[9][10];

これは配列を宣言するだけで、配列要素をSeatオブジェクトで初期化しません。

for(int i = 0; i < 9; i++)
{   
    for(int j = 0; j < 10; j++)
    {
        // I've used a default Seat() constructor to create the object, in your actual case, it may differ.
        seatArray[i][j] = new Seat(); // Initializing each array element with a new Seat object
        seatArray[i][j].cost=prices[i][j];
    }
}
于 2013-11-13T08:32:29.373 に答える
0
seatArray[i][j] = new Seat();
seatArray[i][j].cost= prices[i][j];

または多分明確にするために

Seat seat = new Seat();
seat.setCost(prices[i][j]);
seatArray[i][j] = seat;
于 2013-11-13T08:36:23.630 に答える