1

このクラスは、部屋番号 (つまり、ホテルのゲストが滞在した部屋) のスタックを保持し、最後に滞在した部屋 (LIFO) を取得できるようにすることを目的としています。

今のところ、アイテムを追加したいだけですが、うまくいかないようです。これにはスタックを使用できますが、ArrayDeque を試しています (より柔軟になるはずなので?)。

とにかく、パラメーターとして整数を提供する addRoom() メソッドを実行すると、ArrayDeque のaddFirst()またはadd()メソッドを使用する 14 行目で ArrayDeque が NullPointerException をスローします。

import java.util.ArrayDeque; 

public class RoomNumbers
{
    private ArrayDeque<Integer> roomNumbers;

    public RoomNumbers()
    {
        ArrayDeque<Integer> roomNumbers = new ArrayDeque<Integer>();
    }

    public void addRoom(int roomNumber)
    {
       roomNumbers.addFirst(roomNumber);
    }
}

整数値を明示的に指定すると、整数が null であると不平を言う方法がわかりません。手伝ってください。

4

2 に答える 2

1
public class RoomNumbers {
        private ArrayDeque<Integer> roomNumbers;

        public RoomNumbers()
        {
           roomNumbers = new ArrayDeque<Integer>();
        }

        public void addRoom(int roomNumber)
        {
            roomNumbers.addFirst(roomNumber);
        }

    public static void main(String[] args) {
        RoomNumbers roomNumbers = new RoomNumbers();
        roomNumbers.addRoom(1);
    }
}

Javaのローカル変数とグローバル変数の違い

于 2015-05-09T08:44:39.710 に答える