酒店管理系统升级(实现序列化)
客户端:
package HotelSystem;import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.util.Scanner;import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter.DEFAULT;public class Client {public static void main(String[] args) throws IOException {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;}}}
}
房间类:
package HotelSystem;import java.io.Serializable;public class Room implements Serializable {/*** 如果不加 每次更改类,UID就变了,需要重新序列化* * 目的 : 控制序列化对象的版本,如果新版本兼容旧版本,这个值 就不用改 ,如果不兼容 就把值更改,原来的序列化对象就不能用了* * 版本号*/private static final long serialVersionUID = 1L;
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?"空闲":"占用") + "]";
}}
酒店类:
package HotelSystem;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.security.PublicKey;
public class Hotel {private Room[][] rooms;public Hotel(){File file=new File("./src/hotel");if(!file.exists()){//创建酒店房间的个数rooms=new Room[5][10]; //对酒店进行初始化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);}}}}else {try(//反序列化FileInputStream fis=new FileInputStream("./src/hotel");ObjectInputStream ois =new ObjectInputStream(fis);) {Object object=ois.readObject();rooms=(Room[][])object;} catch (Exception e) {// TODO: handle exception}} }// 序列化public void m1(){try ( FileOutputStream fos=new FileOutputStream("./src/hotel");ObjectOutputStream oos=new ObjectOutputStream(fos);){oos.writeObject(rooms);} catch (Exception e) {e.printStackTrace();}}//房间展示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 || num%100-1>9){System.err.println("该房间不存在,请输入正确的房间号!");}else {if(num==rooms[num/100-1][num%100-1].getNumber()){if(rooms[num/100-1][num%100-1].isFlab()==false){System.err.println("该房间已被占用,请选择其他房间");}else {rooms[num/100-1][num%100-1].setFlab(false);System.out.println("预订成功!!!");} }}m1();}//退房public void checkOut(int num){if (num/100-1>4 || num%100-1>9){System.err.println("该房间不存在,请输入正确的房间号!");}else {if(rooms[num/100-1][num%100-1].isFlab()==true){System.err.println("该房间无需退房!!!");}else {rooms[num/100-1][num%100-1].setFlab(true);System.out.println("退房成功!!!"); }} }
}
酒店管理系统升级(实现序列化)相关推荐
- 酒店管理系统升级(.net4.0 + sql2005 + linq to sql)
成都酒店管理系统(.net4.0 + sql2005/2008 + linq to sql) 参考"东方之星酒店管理系统 2010版",基于.net4.0开发框架,C#语言,C/S ...
- 管理活动目录域服务实训_酒店管理专业开展酒店实训活动
延边大学经济管理学院 酒店管理专业实训课活动 NO.1 理论与实践的结合 为加强酒店管理专业学生技能操作能力,深入了解现代酒店各部门工作职能,12月9日上午,酒店管理专业于珲春校区学文楼4楼客房实训室 ...
- 酒店中计算机信息应用的重要性,浅析计算机在酒店管理中所体现的应用价值
浅析计算机在酒店管理中所体现的应用价值 (5页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 浅析计算机在酒店管理中所体现的应用价值 1概述 ...
- PHP酒店管理demo案例(数组遍历)
PHP酒店管理demo案例(数组遍历) 目录 PHP酒店管理demo案例(数组遍历) PHP酒店管理前台编码: PHP酒店管理后台编码: 执行效果: 点击入住测试: 退房测试: 源码地址: PHP酒店 ...
- mysql 酒店管理设计_酒店管理系统的设计与实现(Myeclipse,MySQL)
酒店管理系统的设计与实现(Myeclipse,MySQL)(任务书,开题报告,中期检查表,文献综述,外文翻译,毕业论文12000字,程序代码,MySQL数据库) 本系统是一个酒店管理系统,以Java ...
- 【渝粤题库】国家开放大学2021春2444酒店管理概论答案
试卷代号:2444 2 0 2 1年春季学期期末统一考试 酒店管理概论试题答案及评分标准 (供参考) 2021年7月 一.单项选择题(在备选答案中,有1个正确答案,请将正确答案的字母填在括号内,每小题 ...
- 酒店管理与计算机技术结合,(定稿)某酒店内部管理系统的开发与应用(完整版)...
<某酒店内部管理系统的开发与应用.doc>由会员分享,可免费在线阅读全文,更多与<(定稿)某酒店内部管理系统的开发与应用(完整版)>相关文档资源请在帮帮文库(www.woc88 ...
- 管理活动目录域服务实训_2019级酒店管理专业前厅与客房服务校外课程实训总结篇...
点击蓝字关注我们 风清花落定,时光踏下轻盈的足迹,我们迎来了实训周的最后一章.19级酒店管理专业<前厅与客房服务>校外课程实训周于2019年12月5日落下帷幕,各小组收拾行囊,带着笑容和收 ...
- 计算机技术在酒店管理专业的应用与探索,计算机信息化在高职酒店管理专业教学中的应用.doc...
计算机信息化在高职酒店管理专业教学中的应用.doc 计算机信息化在高职酒店管理专业教学中的应用 [摘 要]社会经济的发展,推动了科技的革新,计算机网络技术在酒店管理与服务中的应用越来越广泛.计算机技术 ...
最新文章
- 在Servlet中获取Spring注解的bean
- 关于Echarts的填坑之旅
- 自定义存储过程和函数
- WPF 中设置Combox下拉框Text 显示值
- $ajax不能识别,JQuery/JS Ajax功能无法识别
- 高精除(信息学奥赛一本通-T1308)
- jsp___jstl标签
- Android开发中如何调用摄像头的功能
- c语言设计函数型号发生器,基于51单片机函数信号发生器
- Bootstrap自定义图标
- 最新我爱防红网QQ防红跳转短网址生成源码
- 1138 清除行注释
- 【CRC笔记】CRC-16 IBM-SDLC C语言实现
- 盘点2011年的网络流行语
- 如何获取网络协议的协议号
- 百度又一神器发布!网友:牛逼炸了...
- 白痴学日语系列之初识日语(七)附语法二
- centos7安装配置yum软件仓库
- 计算机二级第38套excel,38套EXCEL 仪表盘
- input输入字符限制