java客房管理小项目

这个客房管理小项目,适合java初学者练手。功能虽然不多,但是内容很齐全!

喜欢这样文章的可以关注我,我会持续更新,你们的关注是我更新的动力!需要更多java学习资料的也可以私信我!

祝关注我的人都:身体健康,财源广进,福如东海,寿比南山,早生贵子,从不掉发!

共有5层,每层10间客房,以数字101--509标示;
具有入住,退房,搜索,退出四个简单功能;

public class Hotel {

static final int floor = 5;

static final int order = 10;

private static int countFloor;

private static int countOrder;

private static String[][] rooms = new String[floor][order];

//main函数代表酒店的基本功能,入住,退房,查询,其他;

public static void main(String[] args) {

Scanner scan = new Scanner(System.in);

String temp = null;

while(true){

//提醒用户选择输入

System.out.println("请选择输入  in out search quit : ");

temp = scan.next();

int room = 0;

if("in".equals(temp)){

while(true){

System.out.println("请输入房间号:");

room = scan.nextInt();

if(isRightRoom(room,1)){

break;

}

}

System.out.println("请输入名字:");

String name = scan.next();

if(in(room,name)){

System.out.println("恭喜您,入住成功");

System.out.println(room + " : "+name);

}

}else if("out".equals(temp)){

while(true){

System.out.println("请输入房间号:");

room = scan.nextInt();

if(isRightRoom(room,0)){

break;

}

}

if(out(room)){

System.out.println("退房成功,欢迎下次光临");

}

}else if("search".equals(temp)){

System.out.println("请输入查询的房间号(-1表示全部)");

room = scan.nextInt();

search(room);

}else if("quit".equals(temp)){

break;

}else{

System.out.println("您的输入有误,请再次输入!");

}

}

}

//flag:1 检查房间号输入正确 且 无人入住  0 仅检查房间号输入正确

private static boolean isRightRoom(int room,int flag) {

//校验房间号是否输入有误

countFloor = room / 100 - 1;

countOrder = room % 100 - 1;

if(countFloor < 0 || countFloor >= floor || countOrder < 0 || countOrder >= order ){

System.out.println("输入的房间号有误");

return false;

}

if(flag == 1){

if(rooms[countFloor][countOrder] != null){

System.out.println("房间已经入住");

return false;

}

}

return true;

}

//旅馆入住功能实现,in(room,name) countFloor:计算出的楼层 countOrder:计算出的房间顺序

private static boolean in(int room,String name){

rooms[countFloor][countOrder] = name;

return true;

}

//旅馆退房功能实现,out(room),

private static boolean out(int room){

//校验房间号是否有人入住

if(rooms[countFloor][countOrder] == null){

System.out.println("房间未曾入住,退房有误");

return false;

}

rooms[countFloor][countOrder] = null;

return true;

}

//旅馆搜索功能,search(room)

private static void search(int room){

if(room == -1){

int roomNum = 0;

for(int i=0;i<floor;i++){

for(int j=0;j<order;j++){

roomNum = (i + 1) * 100 + j + 1;

System.out.println(roomNum + "->" +

(rooms[i][j] == null ? "empty" : rooms[i][j]));

}

}

}else{

//校验房间号是否正确

if(!isRightRoom(room,0)){

System.out.println("抱歉,房间输入错误!");

}else{

System.out.println(rooms[countFloor][countOrder]);

}

}

}}

 来源:站长平台

最新文章

  1. Eclipse自动补全设置
  2. [LeetCode]题解(python):114 Flatten Binary Tree to Linked List
  3. 网络数据包收发流程(二):不配置NAPI的情况
  4. css3 flex流动自适应响应式布局样式类
  5. HTML: 用表格畫出課程表
  6. 不能将值 NULL 插入列 &#39;ID&#39;,表 &#39;EupStoreDemoDB.dbo.OrderDiary&#39;;列不允许有 Null 值。INSERT 失败。
  7. CCCardinalSplineBy概念
  8. [PGM] Exact Inference for calculating marginal distribution
  9. Django--基本篇:项目结构与设计模式(MVC)
  10. 【python 字符串】 字符串的相关方法(一)
  11. 记一次通过c#运用GraphQL调用Github api
  12. day04 运算符 流程控制 (if while/of)
  13. js 当前时区
  14. CentOS总结归纳之基本操作(linux系管与运维一)
  15. Guava之FluentIterable使用示例
  16. windows10如何将python2和python3添加到环境变量中
  17. 通过VNC连接远程服务器,然后登陆服务器上的虚拟机,出现键盘输入问题的解决方法
  18. Android使用HTTP协议访问网络——HttpClient
  19. 从Java Future到Guava ListenableFuture实现异步调用
  20. 61、常规控件(4)TabLayout-便捷实现标签

热门文章

  1. java开发 中台
  2. javaBean命名属性时的小注意点
  3. HDU 1003:Max Sum
  4. HDU 5281 BestCoder Round #47 1002:Senior&#39;s Gun
  5. POJ 3663:Costume Party
  6. 【pwnable.kr】 flag
  7. C语言预处理理论-宏定义1
  8. html通配符
  9. Upgrade to 17.1 from 17.0 problem:UnicodeEncodeError: &#39;ascii&#39; codec can&#39;t encode character &#39;\xc4&#39; in position 50: ordinal not in range(128)
  10. OI常用模板