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. 关于 "java中常量定义在interface中好还是定义在class中好" 的一些思考

    原文链接 http://blog.csdn.net/voo00oov/article/details/50433672 java中interface中定义变量都是"public static ...

  2. log4j不生成日志文件的问题

    直接看我的注解吧 注意地址的斜杠,还有地址别写什么相对地址了,这包太老了,服务器update一下兼容问题就出来了. #第一个参数定义达到什么程度就输出 第二第三....第N 定义输出的类型 #debu ...

  3. JS的forEach和map方法的区别,还有一个$.each

    forEach()和map()两个方法都是ECMA5中Array引进的新方法,主要作用是对数组的每个元素执行一次提供的函数,但是它们之间还是有区别的.jQuery也有一个方法$.each(),长得和f ...

  4. No package tomcatX available. 解决办法

    当一个新的linux系统到手时,就要开始部署相关软件等等,有时候可能遇到无法安装的情况. 例如yum install tomcat7,在centos下无法安装,因为tomcat不再yum里面,怎么办呢 ...

  5. CODEVS3269混合背包+二进制优化

    codevs 3296 http://codevs.cn/problem/3269/ 题目描述 Description 背包体积为V ,给出N个物品,每个物品占用体积为Vi,价值为Wi,每个物品要么至 ...

  6. sshpass笔记

    sshpass简介 ssh登录的时候使用的是交互式输入,不能预先在命令行使用参数指定密码,sshpass就是为了解决这个问题的.sshpass提供非交互式输入密码的方式,可以用在shell脚本中自动输 ...

  7. 小白到大神,Python 密集知识点汇总

    Python 基础 1. 变量 你可以把变量想象成一个用来存储值的单词.我们看个例子. Python 中定义一个变量并为它赋值是很容易的.假如你想存储数字 1 到变量 "one" ...

  8. 20160225.CCPP体系详解(0035天)

    程序片段(01):CircleList.h+CircleList.c+main.c 内容概要:环形链表 ///CircleList.h #pragma once #include <stdio. ...

  9. Dynamics CRM 产品视图列上自带按钮的隐藏

    CRM中对command bar的处理都是使用ribbon workbench,但是很多系统自带的按钮你是没法在ribbon workbench看到的,咱们以产品为例,比如我要隐藏form上的保存按钮 ...

  10. 从Stage角度看cassandra write

    声明 文章发布于CSDN cassandra concurrent 具体实现 cassandra并发技术文中介绍了java的concurrent实现,这里介绍cassandra如何基于java实现ca ...