`
小鑫的java
  • 浏览: 143658 次
  • 性别: Icon_minigender_1
  • 来自: 浙江
社区版块
存档分类
最新评论

Java数组实现客房管理

阅读更多
package day04hw;

import java.util.Scanner;

public class HotelMgmt {
	private final static int FLOOR = 10;
	private final static int ROOM = 8;
	private String[][] rooms;
	
	public HotelMgmt() {
		rooms = new String[HotelMgmt.FLOOR][HotelMgmt.ROOM];
	}
	//查询房间
	public void search() {
		//rooms.length  FLOOR
		//rooms[i].length  ROOM
		System.out.print(" \t");
		for (int i=0; i<HotelMgmt.ROOM; i++) {
			System.out.print((i+1)+"\t");
		}
		System.out.println();
		for (int i=HotelMgmt.FLOOR-1; i>=0; i--) {
			for (int j=0; j<HotelMgmt.ROOM; j++) {
				if (j==0) {
					System.out.print((i+1)+"\t");
				}
				System.out.print((rooms[i][j]==null?"-":rooms[i][j])+"\t");
			}
			System.out.println();
		}
			
	}
	//入住
	public void in(int floor, int room, String username) {
		if (floor > HotelMgmt.FLOOR || floor <= 0
				|| room > HotelMgmt.ROOM || room <=0) {
			System.out.println("您所输入的房间不存在!");
		} else {
			if (rooms[floor-1][room-1] != null) {
				System.out.println("您所输入的房间已入住,入住失败!");
			} else {
				System.out.println(username+"入住 ["+floor+"] 层 " +
						"["+room+"] 号房间!");
				rooms[floor-1][room-1] = username;
			}
		}
	}
	//退房
	public void out(int floor, int room) {
		if (floor > HotelMgmt.FLOOR || floor <= 0
				|| room > HotelMgmt.ROOM || room <=0) {
			System.out.println("您所输入的房间不存在!");
		} else {
			if (rooms[floor-1][room-1] == null) {
				System.out.println("您所输入的房间未入住,退房失败!");
			} else {
				System.out.println(rooms[floor-1][room-1]+"退房 ["+floor+"] 层 " +
						"["+room+"] 号房间!");
				rooms[floor-1][room-1] = null;
			}
		}
	}
	
	public void showCommand() {
		System.out.println("command :查询所有命令");
		System.out.println("search  :查询所有房间的状态");
		System.out.println("in 1202 tangliang  :姓名为tangliang的客人入住1202房间");
		System.out.println("out 1202:1202房间退房");
		System.out.println("quit:退出程序");
	}
	
	public void console() {
		Scanner scanner = new Scanner(System.in);
		System.out.println("欢迎使用山寨版酒店管理系统!");
		showCommand();
		while (true) {
			System.out.println("\n请输入命令:");
			String command = scanner.nextLine();
			String[] commands = command.split(" ");
			if (commands[0].equalsIgnoreCase("command")) {
				showCommand();
			} else if (commands[0].equalsIgnoreCase("search")) {
				search();
			} else if (commands[0].equalsIgnoreCase("in")) {
				String roomInfo = commands[1];
				String username = commands[2];
				int floor = Integer.parseInt(roomInfo.substring(0,2));
				int room = Integer.parseInt(roomInfo.substring(2));
				in(floor, room, username);
			} else if (commands[0].equalsIgnoreCase("out")) {
				String roomInfo = commands[1];
				int floor = Integer.parseInt(roomInfo.substring(0,2));
				int room = Integer.parseInt(roomInfo.substring(2));
				out(floor, room);
			} else if (commands[0].equalsIgnoreCase("quit")) {
				System.out.println("谢谢使用,再见!");
				break;
			} else {
				System.out.println("您所输入的命令不存在! 请输入command进行命令查询!");
			}
		}	
	}
	
	public static void main(String[] args) {
		HotelMgmt system = new HotelMgmt();
		system.console();
	}
}

 

 

package tarena;

import java.io.*;
import java.util.Arrays;
//自己写的
public class Hotel {

	/**
	 * @param args
	 */
	private String[][] rooms;

	private final static int FLOOR = 20;

	private final static int ROOM = 10;

	public Hotel() {
		rooms = new String[Hotel.FLOOR][Hotel.ROOM];
		for (int i = 0; i < rooms.length; i++)
			Arrays.fill(rooms[i], "_");
	}

	public void search() {
		System.out.print("\t");
		for (int i = 0; i < rooms[0].length; i++)
			System.out.print((i + 1) + "\t");
		System.out.println();

		for (int i = rooms.length - 1; i >= 0; i--) {
			for (int j = 0; j < rooms[i].length; j++) {
				if (j == 0) {
					System.out.print((i + 1) + "\t");
				}
				System.out.print(rooms[i][j] + "\t");
			}
			System.out.println();
			System.out.println();
		}
	}

	public void in(int floor, int room, String name) {
		if (floor > (rooms.length) || floor <= 0 || room > (rooms[1].length)
				|| room <= 0) {
			System.out.println("房间不存在!");
		} else {
			if (rooms[floor - 1][room - 1] != "_") {
				System.out.println("房间已入住,入住失败!");
			} else {
				System.out.println(name + "入住 [" + floor + "] 层 " + "[" + room
						+ "] 号房间!");
				rooms[floor - 1][room - 1] = name;
			}
		}
	}

	public void out(int floor, int room) {
		if (floor > (rooms.length) || floor <= 0 || room > (rooms[1].length)
				|| room <= 0) {
			System.out.println("房间不存在!");
		} else {
			if (rooms[floor - 1][room - 1].equals("_")) {

				System.out.println(floor + "层" + room + "号房间空,退房失败");
			} else {
				System.out.println("退" + floor + "层" + room + "号房间");
				rooms[floor - 1][room - 1] = "_";
			}
		}

	}

	public void console() {
		System.out.println("欢迎使用酒店管理系统!");

		while (true) {
			System.out.println("************************************************************");
			System.out.println("search  :查询所有房间的状态");
			System.out.println("in 1202 tangliang  :姓名为tangliang的客人入住1202房间");
			System.out.println("out 1202:1202房间退房");
			System.out.println("quit:退出程序");
			System.out.println("\n请输入命令:");

			String str = null;
			try {
				BufferedReader buf;
				buf = new BufferedReader(new InputStreamReader(System.in));
				str = buf.readLine();
				//System.out.println(str);
			} catch (Exception e) {
				System.out.println("error");
			}
			///////////////////////////////////////////////////////////////
			String[] s = str.split(" ");//字符拆分借鉴老师代码
			if (s[0].equalsIgnoreCase("search")) {
				search();
			} else if (s[0].equalsIgnoreCase("in")) {
				String roomInfo = s[1];
				String username = s[2];
				int floor = Integer.parseInt(roomInfo.substring(0, 2));
				int room = Integer.parseInt(roomInfo.substring(2));
				in(floor, room, username);
			} else if (s[0].equalsIgnoreCase("out")) {
				String roomInfo = s[1];
				int floor = Integer.parseInt(roomInfo.substring(0, 2));
				int room = Integer.parseInt(roomInfo.substring(2));
				out(floor, room);
			} else if (s[0].equalsIgnoreCase("quit")) {
				System.out.println("系统安全退出!");
				break;
			} else {
				System.out.println("您所输入的命令不存在! ");
			}
			///////////////////////////////////////////////////////////////
		}
	}

	public static void main(String[] args) {
		Hotel ren = new Hotel();
		ren.console();

	}

}

 

分享到:
评论

相关推荐

    Java数组练习题(带答案).doc

    Java数组阶段的选择题、填空题、编程题、判断题都有,适合想自己测试下的学生以及准备出题的老师

    java 数组实现大数加减乘除运算

    java 数组实现大数加减乘除运算 下载 算法思想很简单,都是我自己做的,相信肯花时间每个人都可以写出来更好的。

    java高端技术课程--Java数组如何实现复制

    java高端技术课程--Java数组如何实现复制java高端技术课程--Java数组如何实现复制java高端技术课程--Java数组如何实现复制java高端技术课程--Java数组如何实现复制

    Java数组与内存控制

    Java数组在内存分配方面的知识;Java数组的静态特征;对于数组变量而言,一定要区分它何时是数组变量,何时代表数组对象本身。

    java数组初始化详解

    java 数组初始化 详解 doc

    java数组优化实现修改数组长度.md

    此项实现了java数组不方便使用的优化,修护了数组不可更改长度的说话,面向对象的编程思想,小小提示可以当工具类使用

    自行使用Java数组实现链表数据结构

    NULL 博文链接:https://redhacker.iteye.com/blog/1923208

    Java SE程序 接口用对象数组实现

    Java SE程序 接口用对象数组实现Java SE程序 接口用对象数组实现Java SE程序 接口用对象数组实现Java SE程序 接口用对象数组实现Java SE程序 接口用对象数组实现Java SE程序 接口用对象数组实现Java SE程序 接口用...

    java 数组求和计算

    java 数组求和计算 java 数组求和计算 java 数组求和计算

    java数组排序

    java数组排序的思想,过程和代码实现。多种数组排序的方法,主要有冒泡排序,堆排序,插入排序, 归并操作(merge), 归并操作(merge),选择排序,希尔排序。

    java五子棋(数组实现)

    java数组实现五子棋源代码原创,手动输入坐标

    第03讲 JAVA数组.ppt

    第03讲 JAVA数组.ppt第03讲 JAVA数组.ppt第03讲 JAVA数组.ppt第03讲 JAVA数组.ppt第03讲 JAVA数组.ppt第03讲 JAVA数组.ppt

    46.java数组遍历1.zip

    46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip...

    43.java数组定义1.zip

    43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip...

    22.java数组的复制.zip

    22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组...

    20.java数组空间分配.zip

    20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间...

    用数组实现的优先队列(JAVA)

    NULL 博文链接:https://128kj.iteye.com/blog/1665616

    Java数组详细讲解

    Java数组的详细资料纤细介绍了Java数组的使用从零开始学习Java数组解决你学习过程中遇到的问题........

    java数组扩容2

    Java数组扩容的原理  1)Java数组对象的大小是固定不变的,数组对象是不可扩容的。  2)利用数组复制方法可以变通的实现数组扩容。  3)System.arraycopy()可以复制数组。  4)Arrays.copyOf()可以简便的...

    45.java数组动态初始化.zip

    45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip...

Global site tag (gtag.js) - Google Analytics