Java实战项目、课程设计——房屋出租系统的设计及实现

房屋出租系统

一、设计

  1. 设计程序框架图(分层模式=>当软件比较复杂时,需要模式化管理)!

2.依据我们所设计的框架图,在IDEA中创建好相关的包,在包下面建立类,即可进行编程。

二、实现

1.准备工具类 Utility,提高开发效率

在实际开发中,公司都会提供相应的工具类和开发库,可以提高开发效率,程序员也需要能够看懂别人写的代码, 并能够正确的调用。

  1. 了解 Utility 类的使用

  1. 测试 Utility 类

2.项目功能实现-完成 House 类

House 类:

1、一个House对象表示一个房屋信息

2、House类有哪些属性,可以通过给出的界面分析得到

部分代码展示:

package houserent.domain;
//House的对象表示一个房屋信息
public class House
{
    //编号 房主 电话 地址 月租 状态(未出租/已出租)
    private int id;//编号
    private String name;//房主
    private String phone;//电话
    private String address;//地址
    private int rent;//月租
    private String state;//状态(未出租/已出租)

    //编写构造器、setter和getter

    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
    //编号 房主 电话 地址 月租 状态(未出租/已出租)

    @Override
    public String toString() {
        return  id +
                "\t" + name +
                "\t" + phone +
                "\t" + address +
                "\t" + rent +
                "\t" + state ;
    }
}

3.项目功能实现-显示主菜单和完成退出软件功能

实现功能的三部曲:==[明确完成功能->思路分析->代码实现]==

功能说明: 用户打开软件, 可以看到主菜单,可以看到多个选项,通过输入不同的数字序号,实现不同的功能。

HouseView类:

1、显示界面

2、接收用户的输入

3、调用HouseService完成对房屋信息的各种操作

其实,就是设置退出软件的界面:

功能说明: 用户看到退出软件的界面,系统也会输出相对应的话语提示用户已退出。

编写 mainMenu 方法:显示主菜单

部分代码展示:

package houserent;

import houserent.view.HouseView;

public class HouseRentApp//完成退出软件功能
{
    public static void main(String[] args)
    {
        //创建HouseView对象,并且显示主菜单,是整个程序的入口
        new HouseView().mainMenu();
        System.out.println("==========你已退出房屋出租系统!==========");
    }
}

4.项目功能实现-完成显示房屋列表的功能

HouseService(业务层)来响应 HouseView(界面)的调用,两者要分开,做到各司其职。

HouseService类:

1、响应HouseView的调用

2、完成对房屋信息的增删改查

编写 list 方法:返回所有房屋信息

部分代码展示:

package houserent.service;

import houserent.domain.House;

public class HouseService
{
    private House[] houses;//保存House对象

    public HouseService(int size)
    {
        houses = new House[size];//当创建HouseService对象,指定数组大小
        //在这里初始一个House对象,按编号 房主 电话 地址 月租 状态(未出租/已出租)的位置进行设置
        houses[0] = new House(1,"Mike","123456789","海珠区",8000,"未出租");
    }
    //再写一个list方法,返回houses
    public House[] list()
    {
        return houses;
    }
}

5.项目功能实现-添加房屋信息的功能

编写addHouse()方法:接收输入,创建House对象,调用add方法(在HouseView类)

编写add方法:添加新对象,返回boolean(在HouseService类)

6.项目功能实现-完成删除房屋信息的功能

编写delHouse() 方法:接收输入的id,调用service的del方法(在HouseView类)

编写del方法:删除一个房屋信息(在HouseService类)

7.项目功能实现-完成根据 id 查找房屋信息的功能

编写findHouse()方法:根据id查找房屋信息(在HouseView类)

编写find方法:返回House对象或者null(在HouseService类)

8.项目功能实现--完成修改房屋信息的功能

编写updateHouses()方法:来根据id修改房屋信息,并根据输入得到updateId,查找对象(在HouseView类)

9.项目功能实现-完善退出确认功能

参考代码如下:

case '6':
    char c =Utility.readConfirmSelection();
    if(c =='Y')
    {
        loop = false;
    }
    break;

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

放下华子我只抽RuiKe5

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值