实现房屋列表接下来实现对现有房屋的展示,即房屋列表的展示【listHouses()】
为什么先实现这个功能呢?因为能够展示房屋意味着我们需要完成对房屋类的定义,这是后面的功能也需要的
因此作为基础部分,需要先做这个房屋列表功能
//编写listHouses()显示房屋列表//其中使用业务类的方法,实例化并返回房屋对象House数组//因此需要先对House进行定义public void listHouses(){System.out.println("=============房屋列表============");System.out.println("编号\t\t房主\t\t电话\t\t地址\t\t月租\t\t状态(未出租/已出租)");House[] houses = houseService.list();//返回所有房屋信息,保存在houses数组中for (int i = 0; i < houses.length; i++) {if (houses[i] == null) {break;}System.out.println(houses[i]);}System.out.println("=============房屋列表显示完毕============");}
业务方法list()list()需要返回系统用于存放房屋信息的一个数组,数组元素为房屋对象
通过遍历此数组可以获取所有房屋的信息
/** //定义House[],保存House对象1.响应HouseView的调用2.完成对房屋信息的各种操作* (增删改查c[create]r[read]u[update]d[delete])*/public class HouseService {private House[] house;//构造器public HouseService(int size){house = new House[size];//创建HouseService对象时,需要指定House数组的大小//测试,初始化一个默认HouseService对象house[0] = new House(1, "jk", "13544856575","西青区", 1800,"未出租");}//list方法返回house(数组)public House[] list(){return house;}}
这里已经需要使用房屋类了,自然的我们需要编写房屋类
定义房屋类房屋类House.java如下
/** House的对象表示一个房屋信息*/public class House {//需要以下信息//编号房主电话地址月租状态(未出租/已出租)private int id;private String name;private String phone;private String address;private int rent;private String state;public House(int id, String name, String phone, String address, int rent, String state) {this.id = id;this.name = name;this.phone = phone;this.address = address;this.rent = rent;this.state = state;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPhone() {return phone;}public void setPhone(String phone) {this.phone = phone;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}public int getRent() {return rent;}public void setRent(int rent) {this.rent = rent;}public String getState() {return state;}public void setState(String state) {this.state = state;}//为了方便的输出对象信息,需要实现toString方法//比如有House h1,这样直接sout(h1)就可以打印房屋信息了@Overridepublic String toString() {return id +"\t" + name +"\t" + phone +"\t" + address +"\t" + rent +"\t" + state ;}}
实现房屋添加实现房屋列表之后,实际上房屋类也完成了定义
那么现在可以考虑实现房屋信息的添加
每个房屋添加进来应该给一个编号,这是需要注意的,后续需要通过编号查询
【【Java复健指南09】项目练习全解--房屋出租系统】//编写addHouse()接受输入,创建House对象,调用add方法//addHouse()仅负责在界面层面的添加,实际去操控House对象数组完成添加的方法属于具体的业务功能//即add()方法应该在HouseService.java中定义,在HouseView.java的addHouse()调用,遵循之前的类关系图设计public void addHouse(){System.out.println("=============添加房屋============");System.out.print("姓名: ");String name = Utility.readString(8);System.out.print("电话: ");String phone = Utility.readString(12);System.out.print("地址: ");String address = Utility.readString(16);System.out.print("月租: ");int rent = Utility.readInt();System.out.println("状态: ");String state = Utility.readString(3);//按照输入信息,创建一个新的House对象//id是系统分配House newHouse = new House(0, name, phone, address, rent, state);if(houseService.add(newHouse)){System.out.println("=============添加房屋成功============");}else {System.out.println("=============添加房屋失败============");}}
经验总结扩展阅读
- 【Bluetooth蓝牙开发】一、开篇词 | 打造全网最详细的Bluetooth开发教程
- 【Bluetooth|蓝牙开发】二、蓝牙开发入门
- 【深入浅出 Yarn 架构与实现】1-1 设计理念与基本架构
- 【Azure 事件中心】Event Hub 无法连接,出现 Did not observe any item or terminal signal within 60000ms in 'flatMapMany' 的错误消息
- 2023年9月15日是买鱼吉日吗 2023年9月15日买鱼行吗
- Java集合精选常见面试题
- 2023年农历正月初七宜买鸭吗 2023年1月28日买鸭好吗
- 很可爱奶凶奶凶的句子 可爱萌炸了的小情话
- 父亲刚去世的朋友圈心情短句 失去爸爸撕心裂肺感言
- 2023年1月28日适合装修屋顶吗 2023年1月28日装修屋顶行吗