import java.util.Scanner;

public class HelloWorld {
	public static void main(String[] args){

		String [][] room = new String[12][10];
		System.out.println("欢迎来到本酒店");
		System.out.println("请输入要操作的命令:" +
						   "serach:查询房间的状态"
							+"in:办理入住"+
						    "out:办理退房"+
							"quit:退出本系统");
		Scanner s = new Scanner(System.in);
		//比较字符串相同---->"in. equals(command)"
		while(true)
		{
			String command = s.next() ;
			if("init".equals(command)){
				init(room);
			}else if("serach".equals(command)){
				search(room);
			}else if("quit".equals(command)){
				System.out.println("欢迎再次光临本酒店!");
				break ;
			}else if("in".equals(command)){
				in(room);
			}else if("out".equals(command)){
				out(room);
			}else{
				System.out.println("输入有误,请重新输入:");
			}

		}
	}
	//输入房间号,直接退房---->需要判断房间是否存在,是否有入住
	public static void out(String[][]rooms){
		System.out.println("请输入房间:");
		Scanner s = new Scanner(System.in);
		int roomNo = s.nextInt();
		//需要把房间号转换层楼层和房间--->使其和数组的下标去对应
		int floor = roomNo / 100 ; //--->根据房间号得到楼层
		//房间号
		int no = roomNo % 100 ; //得到楼层的房间号
		if(floor < 1 || floor > 12 || no < 1 || no > 10){ //入住函数结束
			System.out.println("输入的房间号有误,请输入out命令继续操作:");
			return ;
		}
		if("EMPTY".equals(rooms[floor-1][no-1])){
			System.out.println("该房间没人入住,不需要退房,请输入out命令继续操作:");
			return ;
		}
		rooms[floor-1][no-1] = "EMPTY";
		System.out.println("该房间退房成功");
	}
	public static void search(String[][] rooms)
	{
		//打印房间号
		for(int i = 0 ; i < rooms.length ; i++)
		{
			for(int j = 0 ; j < rooms[i].length ; j++)
			{
				if(i <= 9 ){
					System.out.print("0");
				}
				int roomNo = (i+1)*100 + j+1 ;
				System.out.print(roomNo + "\t");
			}
			System.out.println();
			//打印房间的状态
			for(int k = 0 ; k < rooms[i].length ; k++)
			{
				System.out.print(rooms[i][k] + "\t");
			}
			System.out.println();
		}
	}
	//可拓展,可以先列出可入住的房间,在让用户输入房间号
	public static void in(String[][] rooms)
	{
		System.out.println("图示的房间代号为:EMPTY的为可入住房间");
		//打印现有的房间信息
		search(rooms);
		System.out.println();
		System.out.println("请输入房间号:");
		Scanner s = new Scanner(System.in);
		int roomNo = s.nextInt();
		//需要把房间号转换层楼层和房间--->使其和数组的下标去对应
		int floor = roomNo / 100 ; //--->根据房间号得到楼层
		//房间号
		int no = roomNo % 100 ; //得到楼层的房间号
		if(floor < 1 || floor > 12 || no < 1 || no > 10){ //入住函数结束
			System.out.println("输入的房间号有误,请输入in命令继续操作:");
			return ;
		}
		//判断房间是否有人入住
		if("EMPTY".equals(rooms[floor-1][no-1])){
			System.out.println("请输入您的姓名:");
			String name = s.next();
			rooms[floor-1][no-1] = name ; //对数组进行赋值操作
			System.out.println("恭喜您,入住成功!");

		}else
		{
			System.out.println(roomNo+"已经有人入住,请输入in命令继续操作:");
			return ;
		}

	}
	public static void init(String[][] rooms)
	{
		for(int i = 0 ; i < rooms.length ; i++)
		{
			for(int j = 0 ; j < rooms[i].length ; j++)
			{
				rooms[i][j] = "EMPTY";
			}
		}
		System.out.println("房间初始化完毕");
	}
}

Java项目案例:酒店前台客服管理系统的更多相关文章

  1. java 网站用户在线和客服聊天

    注:本文来源于<java 网站用户在线和客服聊天> 这是应用到项目中的一个例子. 实现原理是将信息存储到Application域里面.然后使用Struts2 Action 用json格式的 ...

  2. Java项目案例之--封装的实例

    Java项目案例之---封装的实例 有一个专业类,有一个专业对象,专业名称:计算机科学与技术,专业编号:J001,专业年限:4,对年限添加约束,如果输入小于0,则默认为0,否则显示输入的值 有一个学生 ...

  3. 项目接入即时聊天客服系统(环信系统)PHP后端操作

    环信工作原理: 一.由于环信没有直接的接口来主动调取本项目中的用户数据,所有用户信息必须在环信服务器上注册对应信息成为环信的用户:(这样才能当用户进入聊天时显示其基本信息,如:名称.昵称.电话.邮箱等 ...

  4. JAVA结合WebSocket实现简单客服聊天功能

    说明:该示例只简单的实现了客服聊天功能. 1.聊天记录没有保存到数据库中,一旦服务重启,消息记录将会没有,如果需要保存到数据库中,可以扩展 2.页面样式用的网上模板,样式可以自己进行修改 3.只能由用 ...

  5. 大数据项目之_15_电信客服分析平台_01&02_项目背景+项目架构+项目实现+数据生产+数据采集/消费(存储)

    一.项目背景二.项目架构三.项目实现3.1.数据生产3.1.1.数据结构3.1.2.编写代码3.1.3.打包测试3.2.数据采集/消费(存储)3.2.1.数据采集:采集实时产生的数据到 kafka 集 ...

  6. Java项目案例之---登录和修改(JSP)

    登录和修改(JSP) 通过案例学习jsp的常用知识点: 1.创建一个Map集合,用于存放学生信息,将学生信息存入Map中 2.通过page将需要的包导入 3.用request.getParameter ...

  7. 大数据项目之_15_电信客服分析平台_03&04_数据分析

    3.3.数据分析3.3.1.Mysql 表结构设计3.3.2.需求:按照不同的维度统计通话3.3.3.环境准备3.3.4.编写代码:数据分析3.3.5.运行测试3.3.6.bug 解决 3.3.数据分 ...

  8. Java项目案例之---计算公司员工的工资(面向对象复习)

    计算公司员工的工资(面向对象复习) 某公司的雇员分为以下若干类: Employee:这是所有员工总的父类,属性:员工的姓名,员工的生日月份.方法:double getSalary(int month) ...

  9. Java项目案例之---常用工具类练习

    常用工具类练习 1. 请根据控制台输入的特定日期格式拆分日期,如:请输入一个日期(格式如:**月**日****年),经过处理得到:****年**月**日 import java.util.Scanne ...

随机推荐

  1. mysql获取某个表的所有字段名

    http://www.netingcn.com/mysql-column-name.html mysql安装成功后可以看到已经存在mysql.information_schema和test这个几个数据 ...

  2. 用IO创建并格式化分区

    转载:http://raylinn.iteye.com/blog/570274 BOOL Result; // used to read bad DeviceIoControl calls DWORD ...

  3. WebApplicationContext类的作用

    WebApplicationContext是实现ApplicationContext接口的子类.是专门为WEB应用准备的.作用: 1.它允许从相对于Web根目录的路径中加载配置文件完成初始化工作.从W ...

  4. bootstrap table 和 x-editable 使用方法

    最近需要做一些数据表格,有同事推荐EasyUI,但经过比较还是选择了Bootstrap,一款极为强大的表格组件,基于Bootstrap 的 jQuery .本文还将介绍Bootstrap-editab ...

  5. ACM Secrete Master Plan

    Problem Description Master Mind KongMing gave Fei Zhang a secrete master plan stashed in a pocket. T ...

  6. formData的实现

    参考:https://developer.mozilla.org/zh-CN/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest <!doctype ...

  7. Dynamics CRM 查找字段下拉的最多10个选项的排序规则

    原文链接来自DTCCh论坛http://dynamics.ms-talent.com.cn/bbs/content/?id=1406&catogory=CRM 如果你是从事dynamics c ...

  8. Tinyhttpd for Windows

    TinyHTTPd forWindows 前言 TinyHTTPd是一个开源的简易学习型的HTTP服务器,项目主页在:http://tinyhttpd.sourceforge.net/,源代码下载:h ...

  9. MPAndroidChart图形联动

    MPAndroidChart图形联动 本篇基于博客MPAndroidChart的K线图上添加均线,两个MPAndroidChart是有联动效果的 原理 获取正在滑动的Chart的触摸事件,将事件同步给 ...

  10. android 自定义ViewGroup之浪漫求婚

    *本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 1.最终效果 有木有发现还是很小清新的感觉 2.看整体效果这是一个scrollView,滑动时每个子view都有一个或多个动画效果 ...