100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 为某个酒店编写程序:酒店管理系统 模拟订房 退房 打印所有房间状态等功能。

为某个酒店编写程序:酒店管理系统 模拟订房 退房 打印所有房间状态等功能。

时间:2019-05-18 06:30:47

相关推荐

为某个酒店编写程序:酒店管理系统 模拟订房 退房 打印所有房间状态等功能。

代码

房间类

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。