- 项目的中所涉及的java知识
- 项目的要求
- 酒店抽象图示效果如下
- 创建Room实体类
- 创建酒店的java对象
- 编写测试方法
- 效果图
这篇项目所需要知道的如下:
1.java面对对象的使用
2.二维数组的动态初始化以及循环遍历的使用
3.三目运算符 ? : 的使用
为某个酒店编写程序:酒店管理系统,模拟订房,退房,打印所有房间等功能;
1.该系统的用户是:酒店前台;
2. 酒店使用一个二维数组来模拟;
3.酒店的每个房间是一个实体类java对象:Room ;
3. 每个房间都有一些属性:房间编号,房间类型,房间状态;
4. 系统给用户提供的功能:
1.输入房间号订房;
2.输入房间号退房;
3.查询所有房间状态;
package com.home; public class Room { private int rid; private String type; private boolean zt; public Room() { } public Room(int rid, String type, boolean zt) { this.rid = rid; this.type = type; this.zt = zt; } public int getRid() { return rid; } public void setRid(int rid) { this.rid = rid; } public String getType() { return type; } public void setType(String type) { this.type = type; } public boolean isZt() { return zt; } public void setZt(boolean zt) { this.zt = zt; } @Override public String toString() { return "["+rid+type+(zt ? "占用" : "空闲")+"]"; } }
创建实体类房间并且重写toString()方法
三目运算符的使用
zt ? “占用” : “空闲”
package com.home; import java.util.Scanner; public class hotl { private Room[][] rooms; //hotl无参构造方法创建hotl对象是自动调用此方法 public hotl() { //初始化酒店的房间(二维数组的遍历以及动态初始化) rooms = new Room[3][6]; for (int i = 0; i < rooms.length; i++) { for (int j = 0; j < rooms[i].length; j++) { Room rn = new Room(); rn.setRid((100 * (i + 1) + j + 1)); if (i == 0) { rn.setType("单人人间"); } else if (i == 1) { rn.setType("双人人间"); } else if (i == 2) { rn.setType("总统套房"); } rooms[i][j] = rn; } } } //打印酒店每个房间(二维数组的遍历) public void PrintRooms() { for (int i = 0; i < rooms.length; i++) { for (int j = 0; j < rooms[i].length; j++) { System.out.print(rooms[i][j] + " "); } System.out.println(" "); } System.out.println("查看所有房间成功"+"请继续输入数字指令"); } //订房 public void setRooms() { System.out.println("请输入你要入住的房间号"); Scanner sc = new Scanner(System.in); int id = sc.nextInt(); Room rn = rooms[id / 100 - 1][id % 100 - 1]; rn.setZt(true); System.out.println("订房成功你的房间号为"+id+"请继续输入数字指令"); } //退房 public void EscRooms() { System.out.println("请输入你要退住的房间号"); Scanner sc = new Scanner(System.in); int id = sc.nextInt(); Room rn = rooms[id / 100 - 1][id % 100 - 1]; rn.setZt(false); System.out.println("退房成功你退的房间号为"+id+"请继续输入数字指令"); } }编写测试方法
package com.home; import java.util.Scanner; public class hotlsystem { public static void main(String[] args) { System.out.println("请观看注意事项"); System.out.println("请输入1--->查看房间"); System.out.println("请输入2--->预定房间"); System.out.println("请输入3--->退定房间"); System.out.println("请输入4--->退出系统"); hotl h = new hotl(); //while死循环防止程序只能使用一次就结束了 while (true) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); if (a == 1) h.PrintRooms(); if (a == 2) h.setRooms(); if (a == 3) h.EscRooms(); if (a == 4) { System.out.println("退出成功欢迎下次使用本系统"); return; } } } }效果图
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)