为某个酒店编写程序:酒店管理系统,模拟订房、退房、打印所有房间状态等功能。 1、该系统的用户是:酒店前台。 2、酒店使用一个二维数组来模拟。“Room[][] roo
生活随笔
收集整理的這篇文章主要介紹了
为某个酒店编写程序:酒店管理系统,模拟订房、退房、打印所有房间状态等功能。 1、该系统的用户是:酒店前台。 2、酒店使用一个二维数组来模拟。“Room[][] roo
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
代碼
房間類
package com.bjpowernode.javase.day23homework; //每一個房間Room應該有:房間編號、房間類型、房間是否空閑 public class Room {private int roomNo;private String roomType;//true表示房間已定,false表示房間空閑private boolean occupy;//constructorpublic Room() {}public Room(int roomNo, String roomType, boolean occupy) {this.roomNo = roomNo;this.roomType = roomType;this.occupy = occupy;}//setter and getterpublic int getRoomNo() {return roomNo;}public void setRoomNo(int roomNo) {this.roomNo = roomNo;}public String getRoomType() {return roomType;}public void setRoomType(String roomType) {this.roomType = roomType;}public boolean isOccupy() {return occupy;}public void setOccupy(boolean occupy) {this.occupy = occupy;} }酒店類
package com.bjpowernode.javase.day23homework; /* * 屬性: 房間數組 * 方法: * */ public class Hotel {private Room[][] rooms;/*房間數組初始化方法rooms[i][j].roomNO = i*100+j;i代表樓層j代表房間號rooms[i][j].type一層:標準單人間二層:標準雙人間三層:標準總統套房... :標準總統套房rooms[i][j] = occupy默認空閑*/private static void initialization(Room[][] rooms){//創建房間buildRooms(rooms);//房間編號初始化for (int i = 0; i < rooms.length; i++) {for (int j = 0; j < rooms[i].length; j++) {rooms[i][j].setRoomNo((i+1)*100 + j+1);}}//房間類型初始化for (int i = 0; i < rooms.length; i++) {for (int j = 0; j < rooms[i].length; j++) {if (i == 0){rooms[i][j].setRoomType("標準單人間");}else if (i == 1){rooms[i][j].setRoomType("標準雙人間");}else{rooms[i][j].setRoomType("標準總統套房");}}}}//房間創建的方法private static void buildRooms(Room[][] rooms){for (int i = 0; i < rooms.length; i++) {for (int j = 0; j < rooms[i].length; j++) {rooms[i][j] = new Room();}}}//constructorpublic Hotel() {//默認三層,每層12間房this(new Room[3][12]);}public Hotel(Room[][] rooms) {initialization(rooms);this.rooms = rooms;}//getter and setterpublic Room[][] getRooms() {return rooms;}public void setRooms(Room[][] rooms) {this.rooms = rooms;} }酒店管理系統類
package com.bjpowernode.javase.day23homework; /* 可以預定房間:用戶輸入房間編號,訂房。可以退房:用戶輸入房間編號,退房。可以查看所有房間的狀態:用戶輸入某個指令應該可以查看所有房間狀態。 * */public class HotelSystem {//酒店管理系統private Hotel hotel;//打印房間狀態public void printStatus(){for (int i = 0; i < hotel.getRooms().length; i++) {for (int j = 0; j < hotel.getRooms()[i].length; j++) {System.out.print(hotel.getRooms()[i][j].getRoomNo() + ">" + (hotel.getRooms()[i][j].isOccupy()?"滿房":"空房") + "\t");}System.out.println();}}//訂房public void order(int roomNo){//rooms[i][j],求出i,jint i = roomNo/100 - 1;int j = roomNo%100 - 1;//更改房間狀態if (hotel.getRooms()[i][j].isOccupy() == true){System.out.println(roomNo + "號房間被預定!");}else{hotel.getRooms()[i][j].setOccupy(true);System.out.println(roomNo + "號房間預定成功!");}}//退房public void checkOut(int roomNo){//rooms[i][j],求出i,jint i = roomNo/100 - 1;int j = roomNo%100 - 1;//更改房間狀態if (hotel.getRooms()[i][j].isOccupy() == false){System.out.println(roomNo + "號房間本空,退房失敗!");}else{hotel.getRooms()[i][j].setOccupy(false);System.out.println(roomNo + "號房間退房成功!");}}//constructorpublic HotelSystem() {this(new Hotel());}public HotelSystem(Hotel hotel) {this.hotel = hotel;}//getter and setterpublic Hotel getHotel() {return hotel;}public void setHotel(Hotel hotel) {this.hotel = hotel;} }測試類
/* 第二題:(java軟件工程師人生路上第一個小型項目。鍛煉一下面向對象。)為某個酒店編寫程序:酒店管理系統,模擬訂房、退房、打印所有房間狀態等功能。1、該系統的用戶是:酒店前臺。2、酒店使用一個二維數組來模擬。“Room[][] rooms;”3、酒店中的每一個房間應該是一個java對象:Room4、每一個房間Room應該有:房間編號、房間類型、房間是否空閑.5、系統應該對外提供的功能:可以預定房間:用戶輸入房間編號,訂房。可以退房:用戶輸入房間編號,退房。可以查看所有房間的狀態:用戶輸入某個指令應該可以查看所有房間狀態。 */ package com.bjpowernode.javase.day23homework;import java.util.Scanner;public class Homework2 {public static void main(String[] args) {//酒店管理系統登錄login(args);//建立酒店管理系統HotelSystem hs = new HotelSystem();//進入操作界面operator(hs);}public static void login(String[] args){if (args.length != 2){System.out.println("輸入參數錯誤!");System.exit(0);}else if ("admin".equals(args[0]) && "123".equals(args[1])){System.out.println("歡迎使用酒店管理系統!");}else{System.out.println("用戶名或密碼錯誤!");System.exit(0);}}//操作界面方法public static void operator(HotelSystem hotelSystem){while(true){System.out.println("************酒店管理系統***********");System.out.println("*************1.房間查詢***********");System.out.println("*************2.訂房操作***********");System.out.println("*************3.退房操作***********");System.out.println("*************4.退出系統***********");java.util.Scanner s = new Scanner(System.in);System.out.print("請輸入執行操作數字:");int num = s.nextInt();switch(num){case 1:hotelSystem.printStatus();break;case 2:System.out.print("請輸入訂房編號:");hotelSystem.order(s.nextInt());break;case 3:System.out.print("請輸入退房編號:");hotelSystem.checkOut(s.nextInt());break;case 4:System.exit(0);default:System.out.println("輸入數字錯誤,請重試!");break;}}} }總結
以上是生活随笔為你收集整理的为某个酒店编写程序:酒店管理系统,模拟订房、退房、打印所有房间状态等功能。 1、该系统的用户是:酒店前台。 2、酒店使用一个二维数组来模拟。“Room[][] roo的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 编写程序,使用一维数组,模拟栈数据结构。
- 下一篇: 全国高校计算机课程教学系列报告会,西安交