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]);

}

}

}}

 来源:站长平台

java客房管理小项目,适合java小白练手的项目!的更多相关文章

  1. 简单的ssm练手联手项目

    简单的ssm练手联手项目 这是一个简单的ssm整合项目 实现了汽车的品牌,价格,车型的添加 ,修改,删除,所有数据从数据库中拿取 使用到了jsp+mysql+Mybatis+spring+spring ...

  2. Java内存管理(一):深入Java内存区域

    本文转自:http://www.cnblogs.com/gw811/archive/2012/10/18/2730117.html#undefined 推荐查看原文,原文格式更好一些. 本文引用自:深 ...

  3. Java内存管理-你真的理解Java中的数据类型吗(十)

    勿在流沙筑高台,出来混迟早要还的. 做一个积极的人 编码.改bug.提升自己 我有一个乐园,面向编程,春暖花开! 作为Java程序员,Java 的数据类型这个是一定要知道的! 但是不管是那种数据类型最 ...

  4. Java 雇员管理小练习(理解面向对象编程)

    在学习集合框架的时候,初学者很容易练习到学生管理系统.雇员管理体统等练习题.在学习集合框架之前,基本上Java基本语法都学完了,集合框架也从侧面的检验对前面学习的理解.下面用一个曾经做过的练习题,回顾 ...

  5. Python适合练手的项目

    原文地址:https://www.jianshu.com/p/039156321e30 项目地址:https://github.com/DeqianBai/Python-Project/tree/ma ...

  6. C/C++编程笔记:C语言实现连连看游戏,小白练手项目(源码分享)

    本篇文章分享看题目就知道是写给初学者的,学的比较好的小伙伴也可以将自动算法等一些知识给加进去,希望对大家有帮助! 好了,当我们所有的准备工作做好之后,我们就可以来编写我们的C语言连连看游戏了! 其实这 ...

  7. 亲测:三个值得练手的Java实战项目

    测试奇谭,BUG不见. 大家好,我是谭叔. 一提到编码,很多小伙伴便感到头疼,特别是半路转行的小伙伴或者没有系统学习过计算机基础的小伙伴. 对于想学而不知道怎么学的小伙伴,我可以分享下我的策略: 刷一 ...

  8. 10个相见恨晚的 Java 在线练手项目

    10个有意思的Java练手项目: 1.Java 开发简单的计算器 难度为一般,适合具有 Java 基础和 Swing 组件编程知识的用户学习 2.制作一个自己的 Java 编辑器 难度中等,适合 Ja ...

  9. 适合Python的5大练手项目, 你练了么?

    在练手项目的选择上,还存在疑问?不知道要从哪种项目先下手? 首先有两点建议: 最好不要写太应用的程序练手,要思考什么更像是知识,老只会写写爬虫是无用的,但是完全不写也不行. 对于练手的程序,要注意简化 ...

随机推荐

  1. 5分钟搞懂:session与cookie

    http是无状态协议 无状态协议的意思是服务端与客户端不会记录任何一次通信的信息.诺兰有一部电影<记忆碎片>,说的是一个有"短期记忆丧失症"的人根据自己支离破碎的记忆来 ...

  2. Promise 与 await 组合使用

    看例子就行了,废话不多说!   async function checkStatus(name){   return new Promise((resolve,reject) => {      ...

  3. “未处理DbEntityValidationException”,"对一个或多个实体的验证失败。有关详细信息,请参见“EntityValidationErrors”属性"。

    对一个或多个实体的验证失败.有关详细信息,请参阅“EntityValidationErrors”属性. 问题原因可能是: 1. 非空列未插入值错误 2. 多个表间外键列长度不一样 3. ef上下文对象 ...

  4. sed -i添加到第一行

    用sed的i\命令在第一行前面插入即可,加上 -i 选项直接操作文件. sed -i '1i\要添加的内容' yourfile 查看插入第一行是否成功 sed -n '1,1p' yourfile

  5. Python之日志处理(logging模块)转载

    本人主要做一个知识的归类与记录,如是转载类文章,居首都会备注原链接,尊重原创者,谢谢! 此文转载原链接:https://www.cnblogs.com/yyds/p/6901864.html 本节内容 ...

  6. python 奇淫技巧之自动登录 哔哩哔哩

    前言 嘿,各位小伙伴好呀,今天要带来点什么干货呢,就从我的实际开发中来给大家带来一个案例吧,如何自动登录 哔哩哔哩 接到老大通知,让我自动写一个自动登录 哔哩哔哩 的脚本,我当然是二话不说直接开怼,咱 ...

  7. 吴裕雄--天生自然TensorFlow2教程:合并与分割

    import tensorflow as tf # 6个班级的学生分数情况 a = tf.ones([4, 35, 8]) b = tf.ones([2, 35, 8]) c = tf.concat( ...

  8. Python爬虫的简单入门(一)

    Python爬虫的简单入门(一) 简介 这一系列教学是基于Python的爬虫教学在此之前请确保你的电脑已经成功安装了Python(本教程使用的是Python3).爬虫想要学的精通是有点难度的,尤其是遇 ...

  9. swiper用axios异步请求后 循环失效

    解决方案 使用ajax动态获取数据  当数据还没有收到的时候,swiper组件收到的是跟组件data传过来的空数组,会造成渲染问题 这个时候可以给swiper组件 设置一个  v-if='list.l ...

  10. c++ 模板练习2

    #include "stdafx.h" #include <iostream> using namespace std; template<class T> ...