大家好,又见面了,我是你们的朋友全栈君。
一 需求:
编写程序 模拟酒店管理系统 : 预订和退订以及查看所有房间 1 需要有一个酒店类 2 需要有一个房间类 3 需要有一个客户端类
public class Test {
}
二 分析:
客户端 : 1 先打印所有房间 2 等待用户输入,根据输入情况 判断是预订还是退订 3 等待用户输入房间号 4 调用酒店的 预订/退订方法 把房间号传入 完成预订/退订功能 5 完成之后,做出相应提示 , 然后再次打印所有房间 6 死循环 依次执行以上步骤
class Client{ }
酒店类 : 规模 : 五层,每层10个房间 其中 : 1,2 层为标准间 3,4 层为双人间 5层为豪华间 房间编号 : 1层 : 101, 102, ….110 , 2层 : 201,202…210 … 以此类推 房间默认都为空闲 需要提供 预订房间方法 : 需要根据 房间编号 预订房间 如果该房间已经被预订了,需要提示 退订房间方法 : 需要根据 房间编号 退订房间 如果该房间没有被预订 需要提示 查看所有房间的方法 : 打印格式为 : [101 标准间 占用] [102 标准间 空闲]…. [201 标准间 空闲] ….. [501 豪华间 空闲] …. [510 豪华间 占用]
三 代码实现
客户端(Client)
代码语言:javascript复制package HotelSystem;
import java.util.Scanner;
public class Client {
public static void main(String[] args) {
Hotel hotel=new Hotel();
Scanner s=new Scanner(System.in);
while (true) {
System.out.println("请输入你要选择的功能: 1 查看房间 2 房间预订 3 退房 0 退出");
int a=s.nextInt();
switch (a) {
case 1:
hotel.show();
break;
case 2:
System.out.println("请输入房间号");
int b=s.nextInt();
hotel.order(b);
break;
case 3:
System.out.println("请输入房间号");
int c=s.nextInt();
hotel.checkOut(c);
break;
case 0:
return;
}
}
}
}
酒店类(Hotel):
代码语言:javascript复制package HotelSystem;//包名
import java.security.PublicKey;
public class Hotel {
private Room[][] rooms=new Room[5][10]; //创建酒店房间的个数
//构造方法
public Hotel(){
//对酒店进行初始化
for(int i=0;i<rooms.length;i ){
for(int j=0;j<rooms[i].length;j ){
if(i<=2){
rooms[i][j]=new Room((i 1)*100 j 1, "标准间", true);
}
if(i>2&&i<4){
rooms[i][j]=new Room((i 1)*100 j 1, "双人间", true);
}
if(i==4){
rooms[i][j]=new Room((i 1)*100 j 1, "豪华间", true);
}
}
}
}
//房间展示
public void show(){
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();
}
}
//房间预订
public void order(int num){
if (num/100-1>4 || num0-1>9){
System.err.println("该房间不存在,请输入正确的房间号!");
}else {
if(num==rooms[num/100-1][num0-1].getNumber()){
if(rooms[num/100-1][num0-1].isFlab()==false){
System.err.println("该房间已被占用,请选择其他房间");
}else {
rooms[num/100-1][num0-1].setFlab(false);
System.out.println("预订成功!!!");
}
}
}
}
//退房
public void checkOut(int num){
if (num/100-1>4 || num0-1>9){
System.err.println("该房间不存在,请输入正确的房间号!");
}else {
if(rooms[num/100-1][num0-1].isFlab()==true){
System.err.println("该房间无需退房!!!");
}else {
rooms[num/100-1][num0-1].setFlab(true);
System.out.println("退房成功!!!");
}
}
}
}
房间类(Room):
代码语言:javascript复制package HotelSystem;
public class Room {
private int number;
private String type;
private boolean flab;
//getSet方法
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public boolean isFlab() {
return flab;
}
public void setFlab(boolean flab) {
this.flab = flab;
}
// 构造方法
public Room(int number, String type, boolean flab) {
super();
this.number = number;
this.type = type;
this.flab = flab;
}
@Override
public String toString() {
return "Room [" number " " type " " (flab==true?"空闲":"占用") "]";
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。