⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 selectmanger.java

📁 旅馆预订系统.采用jstl+oracle,jsp/servlet,,供初学者学习用.
💻 JAVA
字号:
package HotelSystem;

import java.util.Iterator;
import java.util.LinkedList;
import java.util.Scanner;

public class SelectManger {

	Validation validate;

	private LinkedList<Houses> houses = new LinkedList<Houses>();
	private LinkedList<Orders> Orders = new LinkedList<Orders>();
	private LinkedList hotelsId = new LinkedList();
	private LinkedList resortsId = new LinkedList();

	SelectManger() {
		try {
			Class c = Class.forName("HotelSystem.Validation");
			validate = (Validation) c.newInstance();
		} catch (Exception e) {
			System.out.println("找不到Validation文件" + e.toString());
			e.printStackTrace();
		}

	}
	
	public int getOrderId() {
		int id=0;
		int size=Orders.size();
		if(size>0){
			Orders order = Orders.getLast();
			id = order.getOrdersId()+1;
		}
		else
		{
			id=1;
		}
		return id;
		
	}

	public int getId() {
		int id = 0;
		int size = houses.size();
		if (size > 0) {
			if (houses.getLast() instanceof Hotel) {
				Hotel hotel = (Hotel) houses.get(size - 1);
				id = hotel.getId() + 1;
			} else {
				Resort resort = (Resort) houses.get(size - 1);
				id = resort.getId() + 1;
			}
		} else {
			id = 1;
		}
		return id;
	}

	public void insertHotel() {
		int Id;
		String name;
		String city;
		int rcount;
		int dcount;
		int rprice;
		int dprice;

		Id = getId();
		System.out.print("你的旅馆的ID:");
		System.out.println(Id);
		System.out.print("添加旅馆的名字:");
		name = validate.getString();
		System.out.print("请输入城市:");
		city = validate.getString();
		System.out.print("请输入普通房间数量(1-100):");
		rcount = validate.getInt(new int[]{1,100});
		System.out.print("请输入普通房间价格(45-500):");
		rprice = validate.getInt(new int[]{45,1000});
		System.out.print("请输入豪华房数量(1-100):");
		dcount = validate.getInt(new int[]{1,100});
		System.out.print("请输入豪华房价格(95-1000):");
		dprice = validate.getInt(new int[]{95,1000});

		Hotel hotel = new Hotel();
		hotel.setId(Id);
		hotel.setName(name);
		hotel.setCity(city);
		hotel.setDcount(dcount);
		hotel.setDprice(dprice);
		hotel.setRcount(rcount);
		hotel.setRprice(rprice);
		houses.add(hotel);
		hotelsId.add(hotel.getId());
		System.out.println("旅馆添加成功!!");
	}

	public void insertResort() {
		int Id;
		String name;
		String city;
		int ccount;
		int cprice;
		System.out.print("渡假村的Id是:  ");
		Id = getId();
		System.out.println(Id);

		System.out.print("添加渡假村的名字:");
		name = validate.getString();
		System.out.print("请输入城市:");
		city = validate.getString();
		System.out.print("请输入别墅数量(1-100):");
		ccount = validate.getInt(new int[]{1,100});
		System.out.print("请输入别墅价格(300-1000):");
		cprice = validate.getInt(new int[]{300,1000});

		Resort resort = new Resort();
		resort.setId(Id);
		resort.setName(name);
		resort.setCity(city);
		resort.setCcount(ccount);
		resort.setCprice(cprice);
		houses.add(resort);
		resortsId.add(resort.getId());
		System.out.println("渡假村添加成功!!");

	}

	// 选择要添加的住宿类型,并添加预定信息
	public void selectOrder() {
		LinkedList hotels = getHouses();
		String type;
		System.out.println("订单号:"+getOrderId());
		System.out.print("选择旅馆请输入(H),选项择渡假村请按(R):");

		type = validate.getString(new String[]{"H","R"});

		if (type.equals("H")) {
			if (hotelsId.size() > 0) {
				showHotels();
				insertHotelOrder();
			} else {
				System.out.println("没有任何旅馆!!");
			}
		} else if (type.equals("R")) {
			if (resortsId.size() > 0) {
				showResorts();
				insertResortOrder();
			} else {
				System.out.println("没有任何渡假村!!");
			}
		}
	}

	// 实现添加预定信息的方法
	public void insertHotelOrder() {
		int id;
		String roomstyle;
		int number;
		boolean canCheckIn = false;
		String name;
		int tel;
		String email;
		Hotel hotel = null;
		System.out.print("请选择旅馆,输入旅馆的ID:");
		id = validate.getInt(hotelsId, houses);
		if (houses.get(id) instanceof Hotel) {
			hotel = (Hotel) houses.get(id);
		}

		System.out.println("还有" + hotel.getRcount() + "普通房" + ","
				+ hotel.getDcount() + "豪华房");
		System.out.print("请选择房间类型:普通房(R),豪华房(D)");
		String[] rooms = new String[2];
		rooms[0] = "R";
		rooms[1] = "D";
		roomstyle = validate.getString(rooms);

		System.out.print("请输入房间数量:");
		number = validate.getInt();
		if (roomstyle.equals("R")) {
			if (hotel.getRcount() >= number) {
				canCheckIn = true;// 如果房间够的话,就把信息记录下来
			} else {
				System.out.println("对不起,普通房不够!!");
			}
		} else {
			if (hotel.getDcount() >= number) {
				canCheckIn = true;
			} else {
				System.out.println("没有空闲的豪华房了");
			}
		}

		if (canCheckIn) {

			System.out.print("请登记您的名字:");
			name = validate.getString();

			System.out.print("请登记您的电话号码:");
			tel = validate.getInt();

			System.out.print("请登记您的电子邮箱:");
			email = validate.getEmail();

			Orders order = new Orders();
			order.setName(name);
			order.setTel(tel);
			order.setEmail(email);
			order.setRoomstyle(roomstyle);
			order.setNumber(number);
			if (roomstyle.equals("R")) {
				hotel.setRcount(hotel.getRcount() - number);
			} else {
				hotel.setDcount(hotel.getDcount() - number);
			}
			order.setStyle("H");
			order.setId(hotel.getId());
			order.setOrdersId(getOrderId());
			Orders.add(order);
			System.out.println("恭喜,预定添加成功!!");
		}
	}

	public void insertResortOrder() {
		int id;
		String roomstyle;
		String name;
		int tel;
		String email;
		int number;
		boolean checkIn = false;

		System.out.print("请选择旅馆,输入渡假村的ID:");
		id = validate.getInt(resortsId, houses);

		Resort resort = (Resort) houses.get(id);

		System.out.println("住宿类型:别墅(C):" + "C");

		if (houses.get(id) instanceof Resort) {
			resort = (Resort) houses.get(id);
		}

		System.out.println("还有" + resort.getCcount() + "幢别墅!");

		System.out.print("请输入房间数量:");
		number = validate.getInt();
		if (resort.getCcount() >= number) {
			checkIn = true;
		} else {
			System.out.println("没有这个数量的别墅了!!");
		}

		if (checkIn) {

			System.out.print("请登记您的名字:");
			name = validate.getString();

			System.out.print("请登记您的电话号码:");
			tel = validate.getInt();

			System.out.print("请登记您的电子邮箱:");
			email = validate.getEmail();

			Orders order = new Orders();
			order.setName(name);
			order.setTel(tel);
			order.setEmail(email);
			order.setRoomstyle("C");
			order.setNumber(number);
			resort.setCcount(resort.getCcount() - number);
			order.setStyle("R");
			order.setId(resort.getId());
			order.setOrdersId(getOrderId());
			Orders.add(order);
			System.out.println("恭喜,预定添加成功!!");
		}
	}

	/*// 删除客户的预定信息
	public void deleteOrder() {
		int delId;
		listOrders();
		if (Orders.size() > 0) {
			System.out.print("请输入要取消的ID:");
			delId = validate.getInt(Orders);
			for (int i = 0; i < Orders.size(); i++) {
				Orders order = (Orders) Orders.get(i);
				if (order.getId() == delId) {
					Orders.remove();
					for (int j = 0; j < houses.size(); j++) {
						if (houses.get(j) instanceof Hotel) {
							Hotel hotel = (Hotel) houses.get(j);
							if (hotel.getId() == delId) {
								if (order.getRoomstyle().equals("R")) {
									hotel.setRcount(hotel.getRcount()
											+ order.getNumber());
								} else {
									hotel.setDcount(hotel.getDcount()
											+ order.getNumber());
								}
							}
						} else if (houses.get(j) instanceof Resort) {
							Resort resort = (Resort) houses.get(j);
							if (resort.getId() == delId) {
								resort.setCcount(resort.getCcount()
										+ order.getNumber());
							}
						}
					}
				}
			}
			System.out.println("退订成功!!");
		}

	}*/
	
	
//	 删除客户的预定信息
	public void deleteOrder() {
		int delId;
		listOrders();
		if (Orders.size() > 0) {
			System.out.print("请输入要取消的ID:");
			delId = validate.getOrdersId(Orders);
			if(delId>=0){
			for (int i = 0; i < Orders.size(); i++) {
				Orders order = (Orders) Orders.get(i);
				if (i == delId) {
					int id = order.getId();
					Orders.remove(order);
					for (int j = 0; j < houses.size(); j++) {
						if (houses.get(j) instanceof Hotel) {
							Hotel hotel = (Hotel) houses.get(j);
							if (hotel.getId() == id) {
								if (order.getRoomstyle().equals("R")) {
									hotel.setRcount(hotel.getRcount()
											+ order.getNumber());
								} else {
									hotel.setDcount(hotel.getDcount()
											+ order.getNumber());
								}
							}
						} else if (houses.get(j) instanceof Resort) {
							Resort resort = (Resort) houses.get(j);
							if (resort.getId() == id) {
								resort.setCcount(resort.getCcount()
										+ order.getNumber());
							}
						}
					}
				}
			}

			System.out.println("退订成功!!");
			}
		}

	}

	// 列出所有客户的预定信息
	public void listOrders() {
		if (Orders.size() > 0) {
			System.out.println("OrderId   客户名称   客户电话   Id    预订类型   房间类型   预订数量");
			for (int i = 0; i < Orders.size(); i++) {
				Orders order = (Orders) Orders.get(i);
				System.out.println(order.getOrdersId() + "     " + order.getName()
						+ "     " + order.getTel() + "     " + order.getId()+ "     " + order.getStyle()
						+ "     " + order.getRoomstyle() + "     "
						+ order.getNumber());
			}
		} else {
			System.out.println("当前还没有订单!!");
		}
	}

	// 退出系统
	public void exit() {
		System.out.println("系统已退出!!");
		System.exit(1);
	}

	public void showHotels() {
		LinkedList houses = getHouses();
		Iterator iter1 = houses.iterator();
		System.out.println("有以下旅馆提供选择:");
		while (iter1.hasNext()) {
			Houses house = (Houses) iter1.next();
			if (house instanceof Hotel) {
				Hotel hotel = (Hotel) house;
				System.out.println(hotel.getId() + ":" + hotel.getName());
			}
		}
	}

	public void showResorts() {
		LinkedList houses = getHouses();
		Iterator iter1 = houses.iterator();
		System.out.println("有以下渡假村提供选择:");
		while (iter1.hasNext()) {
			Houses house = (Houses) iter1.next();
			if (house instanceof Resort) {
				Resort resort = (Resort) house;
				System.out.println(resort.getId() + ":" + resort.getName());
			}
		}
	}

	public void showAll() {
		LinkedList houses = getHouses();
		System.out.print("请输入要查找的城市:");
		String city = validate.getString();
		if (houses.size() > 0) {
			Iterator iter = houses.iterator();
			while (iter.hasNext()) {
				Houses house = (Houses) iter.next();
				if (house instanceof Hotel) {
					Hotel hotel = (Hotel) house;
					if (hotel.getCity().equals(city)) {
						System.out.println("ID:" + hotel.getId() + "  旅馆名称:"
								+ hotel.getName() + "  普通房数量:"
								+ hotel.getRcount() + "  价格:"
								+ hotel.getRprice() + "  豪华房数量:"
								+ hotel.getDcount() + "  价格:"
								+ hotel.getDcount());
					}
				} else {
					Resort resort = (Resort) house;
					if (resort.getCity().equals(city)) {

						System.out.println("ID:" + resort.getId() + "  渡假村名称:"
								+ resort.getName() + "  别墅数量:"
								+ resort.getCcount() + "  价格:"
								+ resort.getCprice());
					}
				}
			}
		} else {
			System.out.println("当前城市暂时没有旅馆或渡假村!!");
		}
	}


	public LinkedList getOrders() {
		return Orders;
	}

	public void setOrders(LinkedList orders) {
		Orders = orders;
	}

	public LinkedList<Houses> getHouses() {
		return houses;
	}

	public void setHouses(LinkedList<Houses> houses) {
		this.houses = houses;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -