📄 selectmanger.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 + -