Java编写的简单的房屋管理系统(家具的增删改查) import java.util.Scanner; public class HshHouseMangerSystem { public static void main(String[] args) { Scanner sc new Scanner(System.in); //初始化厨房 HshKitchen Hshkitchen new HshKitchen(厨房, 20); // 添加初始几句家具 Hshkitchen.HshKitchenFurnitureList.add(冰箱); Hshkitchen.HshKitchenFurnitureList.add(油烟机); Hshkitchen.HshKitchenFurnitureList.add(灶火); Hshkitchen.HshKitchenFurnitureList.add(橱柜); //初始化客厅 HshLivingRoom Hshlivingroom new HshLivingRoom(客厅, 80); Hshlivingroom.HshLivingRoomFurnitureList.add(沙发); Hshlivingroom.HshLivingRoomFurnitureList.add(电视); Hshlivingroom.HshLivingRoomFurnitureList.add(茶几); Hshlivingroom.HshLivingRoomFurnitureList.add(中央空调); //初始化主卧 HshPrimaryRoom Hshprimaryroom new HshPrimaryRoom(主卧, 30); Hshprimaryroom.HshPrimaryRoomFurnitureList.add(大床); Hshprimaryroom.HshPrimaryRoomFurnitureList.add(衣柜); Hshprimaryroom.HshPrimaryRoomFurnitureList.add(梳妆台); Hshprimaryroom.HshPrimaryRoomFurnitureList.add(书架); //初始化次卧 HshSubordinateRoom Hshsubordinateroom new HshSubordinateRoom(次卧, 20); Hshsubordinateroom.HshSubordinateRoomFurnitureList.add(上下床); Hshsubordinateroom.HshSubordinateRoomFurnitureList.add(床头柜); Hshsubordinateroom.HshSubordinateRoomFurnitureList.add(书桌); Hshsubordinateroom.HshSubordinateRoomFurnitureList.add(壁画); //初始化阳台 HshBalcony Hshbalcony new HshBalcony(阳台, 15); Hshbalcony.HshBalconyFurnitureList.add(洗衣机); Hshbalcony.HshBalconyFurnitureList.add(晾衣架); while (true) { System.out.println(欢迎使用房屋管理系统); System.out.println(); System.out.println(请输入您要选择的操作(1)查询房间 (0)退出); if (sc.hasNextInt()) { int choice sc.nextInt(); switch (choice) { case 1: checkroom(sc, Hshkitchen, Hshlivingroom, Hshprimaryroom, Hshsubordinateroom, Hshbalcony); break; case 0: System.out.println(退出成功,感谢使用); return; // 使用 return 结束 main 方法 default: System.out.println(输入错误请重新输入。); break; } } else { String invalidInput sc.next(); // 读取非法输入避免死循环 System.out.println( 错误 invalidInput 不是有效数字); } } } static void checkroom(Scanner sc, HshKitchen Hshkitchen, HshLivingRoom Hshlivingroom, HshPrimaryRoom Hshprimaryroom, HshSubordinateRoom Hshsubordinateroom, HshBalcony Hshbalcony) { while (true) { System.out.println(请选择房间(1)厨房 (2)客厅 (3)主卧 (4)次卧 (5)阳台 (0)返回上级); if (sc.hasNextInt()) { int choice sc.nextInt(); switch (choice) { case 0: return; //返回主菜单 case 1://厨房 System.out.println(您进入了厨房...); while (true) { System.out.println(您可选择的操作:(1)查看厨房属性 (2)添加家具 (3)删除家具 (4)做饭 (0)退出); if (sc.hasNextInt()) { int choice1 sc.nextInt(); switch (choice1) { case 1: System.out.println(Hshkitchen); break; case 2: System.out.println(请输入您要添加的家具:); String newfurniturename sc.next(); Hshkitchen.addFurniture(newfurniturename); break; case 3: System.out.println(请输入您要删除的家具:); String oldfurniturename sc.next(); Hshkitchen.removeFurniture(oldfurniturename); break; case 4: Hshkitchen.cook(); break; case 0: break; // 跳出switch default: System.out.println(输入错误请重新输入。); break; } if (choice1 0) { break; // 跳出厨房子菜单的while } } else { String invalidInput sc.next(); // 读取非法输入避免死循环 System.out.println( 错误 invalidInput 不是有效数字); } } break; // 跳出外层switch的case 1 case 2://客厅 while (true) { System.out.println(您可选择的操作:(1)查看客厅属性 (2)添加家具 (3)删除家具 (4)看电视 (0)退出); if (sc.hasNextInt()) { int choice1 sc.nextInt(); switch (choice1) { case 1: System.out.println(Hshlivingroom); break; case 2: System.out.println(请输入您要添加的家具:); String newfurniturename sc.next(); Hshlivingroom.addFurniture(newfurniturename); break; case 3: System.out.println(请输入您要删除的家具:); String oldfurniturename sc.next(); Hshlivingroom.removeFurniture(oldfurniturename); break; case 4: Hshlivingroom.watch(); break; case 0: break; // 跳出switch default: System.out.println(输入错误请重新输入。); break; } if (choice1 0) { break; // 跳出客厅子菜单的while } } else { String invalidInput sc.next(); // 读取非法输入避免死循环 System.out.println( 错误 invalidInput 不是有效数字); } } break; case 3://主卧 System.out.println(您进入了主卧...); while (true) { System.out.println(您可选择的操作:(1)查看主卧属性 (2)添加家具 (3)删除家具 (4)睡觉 (0)退出); if (sc.hasNextInt()) { int choice1 sc.nextInt(); switch (choice1) { case 1: System.out.println(Hshprimaryroom); break; case 2: System.out.println(请输入您要添加的家具:); String newfurniturename sc.next(); Hshprimaryroom.addFurniture(newfurniturename); break; case 3: System.out.println(请输入您要删除的家具:); String oldfurniturename sc.next(); Hshprimaryroom.removeFurniture(oldfurniturename); break; case 4: Hshprimaryroom.sleep(); break; case 0: break; // 跳出switch default: System.out.println(输入错误请重新输入。); break; } if (choice1 0) { break; // 跳出主卧子菜单的while } } else { String invalidInput sc.next(); // 读取非法输入避免死循环 System.out.println( 错误 invalidInput 不是有效数字); } } break; case 4://次卧 System.out.println(您进入了次卧...); while (true) { System.out.println(您可选择的操作:(1)查看主卧属性 (2)添加家具 (3)删除家具 (4)写字 (0)退出); if (sc.hasNextInt()) { int choice1 sc.nextInt(); switch (choice1) { case 1: System.out.println(Hshsubordinateroom); break; case 2: System.out.println(请输入您要添加的家具:); String newfurniturename sc.next(); Hshsubordinateroom.addFurniture(newfurniturename); break; case 3: System.out.println(请输入您要删除的家具:); String oldfurniturename sc.next(); Hshsubordinateroom.removeFurniture(oldfurniturename); break; case 4: Hshsubordinateroom.write(); break; case 0: break; // 跳出switch default: System.out.println(输入错误请重新输入。); break; } if (choice1 0) { break; // 跳出次卧子菜单的while } } else { String invalidInput sc.next(); // 读取非法输入避免死循环 System.out.println( 错误 invalidInput 不是有效数字); } } break; case 5: System.out.println(您进入了阳台...); while (true) { System.out.println(您可选择的操作:(1)查看主卧属性 (2)添加家具 (3)删除家具 (4)看风景 (0)退出); if (sc.hasNextInt()) { int choice1 sc.nextInt(); switch (choice1) { case 1: System.out.println(Hshbalcony); break; case 2: System.out.println(请输入您要添加的家具:); String newfurniturename sc.next(); Hshbalcony.addFurniture(newfurniturename); break; case 3: System.out.println(请输入您要删除的家具:); String oldfurniturename sc.next(); Hshbalcony.removeFurniture(oldfurniturename); break; case 4: Hshbalcony.sightseeing(); break; case 0: break; // 跳出switch default: System.out.println(输入错误请重新输入。); break; } if (choice1 0) { break; // 跳出阳台子菜单的while } } else { String invalidInput sc.next(); // 读取非法输入避免死循环 System.out.println( 错误 invalidInput 不是有效数字); } } break; default: System.out.println(输入错误); break; } } else { String invalidInput sc.next(); // 读取非法输入避免死循环 System.out.println( 错误 invalidInput 不是有效数字); } } } }import java.util.ArrayList; import java.util.List; public class HshBalcony extends HshRoom { protected ListString HshBalconyFurnitureList; public HshBalcony(String name, double area) { super(name, area); this.HshBalconyFurnitureList new ArrayList(); } // 重写添加家具方法 Override public void addFurniture(String HshBalconyFurnitureName) { this.HshBalconyFurnitureList.add(HshBalconyFurnitureName); System.out.println(成功添加家具 HshBalconyFurnitureName); } // 重写删除家具方法 Override public void removeFurniture(String HshBalconyFurnitureName) { if (HshBalconyFurnitureList.contains(HshBalconyFurnitureName)) { this.HshBalconyFurnitureList.remove(HshBalconyFurnitureName); System.out.println(成功删除家具 HshBalconyFurnitureName); } else { System.out.println(操作不合法 getName() 中无 HshBalconyFurnitureName !); } } //重写展示家具方法 Override public String getFurnitureInfo() { if (HshBalconyFurnitureList.isEmpty()) { return 无; } return HshBalconyFurnitureList.toString(); } Override public String toString() { return getName() : getArea() 平方米\n 家具 this.getFurnitureInfo(); } // 普通方法看风景 public void sightseeing() { System.out.println(开始看风景); } }import java.util.ArrayList; import java.util.List; public class HshSubordinateRoom extends HshRoom { protected ListString HshSubordinateRoomFurnitureList; public HshSubordinateRoom(String name, double area) { super(name, area); this.HshSubordinateRoomFurnitureList new ArrayList(); } // 重写添加家具方法 Override public void addFurniture(String HshSubordinateRoomFurnitureName) { this.HshSubordinateRoomFurnitureList.add(HshSubordinateRoomFurnitureName); System.out.println(成功添加家具 HshSubordinateRoomFurnitureName); } // 重写删除家具方法 Override public void removeFurniture(String HshSubordinateRoomFurnitureName) { if (HshSubordinateRoomFurnitureList.contains(HshSubordinateRoomFurnitureName)) { this.HshSubordinateRoomFurnitureList.remove(HshSubordinateRoomFurnitureName); System.out.println(成功删除家具 HshSubordinateRoomFurnitureName); } else { System.out.println(操作不合法 getName() 中无 HshSubordinateRoomFurnitureName !); } } //重写展示家具方法 Override public String getFurnitureInfo() { if (HshSubordinateRoomFurnitureList.isEmpty()) { return 无; } return HshSubordinateRoomFurnitureList.toString(); } Override public String toString() { return getName() : getArea() 平方米\n 家具 this.getFurnitureInfo(); } // 普通方法写字 public void write() { System.out.println(开始写字); } }import java.util.ArrayList; import java.util.List; public class HshLivingRoom extends HshRoom { protected ListString HshLivingRoomFurnitureList; public HshLivingRoom(String name, double area) { super(name, area); this.HshLivingRoomFurnitureList new ArrayList(); } // 重写添加家具方法 Override public void addFurniture(String HshLivingRoomFurnitureName) { this.HshLivingRoomFurnitureList.add(HshLivingRoomFurnitureName); System.out.println(成功添加家具 HshLivingRoomFurnitureName); } // 重写删除家具方法 Override public void removeFurniture(String HshLivingRoomFurnitureName) { if (HshLivingRoomFurnitureList.contains(HshLivingRoomFurnitureName)) { this.HshLivingRoomFurnitureList.remove(HshLivingRoomFurnitureName); System.out.println(成功删除家具 HshLivingRoomFurnitureName); } else { System.out.println(操作不合法 getName() 中无 HshLivingRoomFurnitureName !); } } //重写展示家具方法 Override public String getFurnitureInfo() { if (HshLivingRoomFurnitureList.isEmpty()) { return 无; } return HshLivingRoomFurnitureList.toString(); } Override public String toString() { return getName() : getArea() 平方米\n 家具 this.getFurnitureInfo(); } // 普通方法看电视 public void watch() { System.out.println(开始看电视); } }import java.util.ArrayList; import java.util.List; public class HshKitchen extends HshRoom { protected ListString HshKitchenFurnitureList; public HshKitchen(String name, double area) { super(name, area); this.HshKitchenFurnitureList new ArrayList(); } // 重写添加家具方法 Override public void addFurniture(String HshKitctionFurnitureName) { this.HshKitchenFurnitureList.add(HshKitctionFurnitureName); System.out.println(成功添加家具 HshKitctionFurnitureName); } // 重写删除家具方法 Override public void removeFurniture(String HshKitctionFurnitureName) { if (HshKitchenFurnitureList.contains(HshKitctionFurnitureName)) { this.HshKitchenFurnitureList.remove(HshKitctionFurnitureName); System.out.println(成功删除家具 HshKitctionFurnitureName); } else { System.out.println(操作不合法 getName() 中无 HshKitctionFurnitureName !); } } //重写展示家具方法 Override public String getFurnitureInfo() { if (HshKitchenFurnitureList.isEmpty()) { return 无; } return HshKitchenFurnitureList.toString(); } Override public String toString() { return getName() : getArea() 平方米\n 家具 this.getFurnitureInfo(); } // 普通方法做饭 public void cook() { System.out.println(开始做饭); } }import java.util.ArrayList; import java.util.List; public class HshPrimaryRoom extends HshRoom { protected ListString HshPrimaryRoomFurnitureList; public HshPrimaryRoom(String name, double area) { super(name, area); this.HshPrimaryRoomFurnitureList new ArrayList(); } // 重写添加家具方法 Override public void addFurniture(String HshPrimaryRoomFurnitureName) { this.HshPrimaryRoomFurnitureList.add(HshPrimaryRoomFurnitureName); System.out.println(成功添加家具 HshPrimaryRoomFurnitureName); } // 重写删除家具方法 Override public void removeFurniture(String HshPrimaryRoomFurnitureName) { if (HshPrimaryRoomFurnitureList.contains(HshPrimaryRoomFurnitureName)) { this.HshPrimaryRoomFurnitureList.remove(HshPrimaryRoomFurnitureName); System.out.println(成功删除家具 HshPrimaryRoomFurnitureName); } else { System.out.println(操作不合法 getName() 中无 HshPrimaryRoomFurnitureName !); } } //重写展示家具方法 Override public String getFurnitureInfo() { if (HshPrimaryRoomFurnitureList.isEmpty()) { return 无; } return HshPrimaryRoomFurnitureList.toString(); } Override public String toString() { return getName() : getArea() 平方米\n 家具 this.getFurnitureInfo(); } // 普通方法睡觉 public void sleep() { System.out.println(开始睡觉); } }import java.util.ArrayList; import java.util.List; public abstract class HshRoom { private String name; private double area; // 使用 List 来动态存储家具 protected ListString furnitureList; public HshRoom(String name, double area) { this.name name; this.area area; this.furnitureList new ArrayList(); } // 添加家具的方法 public abstract void addFurniture(String furnitureName); // 删除家具的方法 public abstract void removeFurniture(String furnitureName); // 获取家具列表用于展示 public abstract String getFurnitureInfo(); public String getName() { return name; } public double getArea() { return area; } public void setName(String name) { this.name name; } public void setArea(double area) { this.area area; } }