数组小案例:使用数组实现酒店预订系统
public class Demo5 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("酒店预订系统"); Hotel h = new Hotel(); h.print(); while(true) { System.out.println("请输入房间编号:"); int num = sc.nextInt(); h.order(num); h.print(); } } } class Room { /** * 房间号 */ private int no; /** * 房间类型 */ private String type; /** * 房间是否被预订 */ private boolean isReserved; public Room(int no, String type, boolean isReserved) { super(); this.no = no; this.type = type; this.isReserved = isReserved; } public int getNo() { return no; } public void setNo(int no) { this.no = no; } public String getType() { return type; } public void setType(String type) { this.type = type; } public boolean isReserved() { return isReserved; } public void setReserved(boolean isReserved) { this.isReserved = isReserved; } @Override public String toString() { return "[" + no + "," + type + "," + (isReserved ? "已被预订" : "空闲")+"]"; } } class Hotel { Room[][] rooms; public Hotel() { rooms = new Room[6][6];// 酒店有6层,每层有6个房间 for (int i = 0; i < rooms.length; i++) { for (int j = 0; j < rooms[i].length; j++) { if (i == 0 || i == 1 || i == 2) { rooms[i][j] = new Room((i + 1) * 100 + j + 1, "标准间", false); } if (i == 3 || i == 4) { rooms[i][j] = new Room((i + 1) * 100 + j + 1, "双人间", false); } if (i == 5) { rooms[i][j] = new Room((i + 1) * 100 + j + 1, "豪华间", false); } } } } /** * 对外提供酒店房间的状态的方法 */ public void print() { for (int i = 0; i < rooms.length;i++) { for (int j = 0; j < rooms[i].length; j++) { System.out.print(rooms[i][j]); } System.out.println();// 换行 } } /** * 对外提供酒店预订方式 * @param no */ public void order(int no) { for (int i = 0; i < rooms.length; i++) { for (int j = 0; j < rooms[i].length; j++) { if (no == rooms[i][j].getNo() && rooms[i][j].isReserved() == false) { rooms[i][j].setReserved(true); System.out.println("恭喜你预订成功"); } } } } }运行结果如下:
酒店预订系统
[101,标准间,空闲][102,标准间,空闲][103,标准间,空闲][104,标准间,空闲][105,标准间,空闲][106,标准间,空闲]
[201,标准间,空闲][202,标准间,空闲][203,标准间,空闲][204,标准间,空闲][205,标准间,空闲][206,标准间,空闲]
[301,标准间,空闲][302,标准间,空闲][303,标准间,空闲][304,标准间,空闲][305,标准间,空闲][306,标准间,空闲]
[401,双人间,空闲][402,双人间,空闲][403,双人间,空闲][404,双人间,空闲][405,双人间,空闲][406,双人间,空闲]
[501,双人间,空闲][502,双人间,空闲][503,双人间,空闲][504,双人间,空闲][505,双人间,空闲][506,双人间,空闲]
[601,豪华间,空闲][602,豪华间,空闲][603,豪华间,空闲][604,豪华间,空闲][605,豪华间,空闲][606,豪华间,空闲]
请输入房间编号:
101
恭喜你预订成功
[101,标准间,已被预订][102,标准间,空闲][103,标准间,空闲][104,标准间,空闲][105,标准间,空闲][106,标准间,空闲]
[201,标准间,空闲][202,标准间,空闲][203,标准间,空闲][204,标准间,空闲][205,标准间,空闲][206,标准间,空闲]
[301,标准间,空闲][302,标准间,空闲][303,标准间,空闲][304,标准间,空闲][305,标准间,空闲][306,标准间,空闲]
[401,双人间,空闲][402,双人间,空闲][403,双人间,空闲][404,双人间,空闲][405,双人间,空闲][406,双人间,空闲]
[501,双人间,空闲][502,双人间,空闲][503,双人间,空闲][504,双人间,空闲][505,双人间,空闲][506,双人间,空闲]
[601,豪华间,空闲][602,豪华间,空闲][603,豪华间,空闲][604,豪华间,空闲][605,豪华间,空闲][606,豪华间,空闲]
请输入房间编号:
101
[101,标准间,已被预订][102,标准间,空闲][103,标准间,空闲][104,标准间,空闲][105,标准间,空闲][106,标准间,空闲]
[201,标准间,空闲][202,标准间,空闲][203,标准间,空闲][204,标准间,空闲][205,标准间,空闲][206,标准间,空闲]
[301,标准间,空闲][302,标准间,空闲][303,标准间,空闲][304,标准间,空闲][305,标准间,空闲][306,标准间,空闲]
[401,双人间,空闲][402,双人间,空闲][403,双人间,空闲][404,双人间,空闲][405,双人间,空闲][406,双人间,空闲]
[501,双人间,空闲][502,双人间,空闲][503,双人间,空闲][504,双人间,空闲][505,双人间,空闲][506,双人间,空闲]
[601,豪华间,空闲][602,豪华间,空闲][603,豪华间,空闲][604,豪华间,空闲][605,豪华间,空闲][606,豪华间,空闲]
请输入房间编号: