程序入口

public class HouseRent {public static void main(String[] args) {new HouseView().Menu();}
}

用户界面

public class HouseView {boolean loop = true;HouseService houseService = new HouseService();
//    显示主菜单public void Menu() {do {System.out.println("----------房屋出租系统----------");System.out.println("\t\t1 新增房屋");System.out.println("\t\t2 查找房屋");System.out.println("\t\t3 删除房屋");System.out.println("\t\t4 修改房屋");System.out.println("\t\t5 房屋列表");System.out.println("\t\t6 退出系统");System.out.print("请选择(1-6):");char choice = Utility.readChar();switch(choice) {case '1':addHouse();break;case '2':findHouse();break;case '3':delHouse();break;case '4':updateHouse();break;case '5':listHouse();break;case '6':Exit();break;default:System.out.println("输入有误,请重新选择!");}} while(loop);System.out.println("已成功退出房屋出租系统~~");}
//    显示房屋列表public void listHouse() {System.out.println("----------房屋列表----------");System.out.println("编号\t\t" + "房主\t\t" + "电话\t\t" + "地址\t\t" + "月租\t\t" + "状态(已出租/未出租)");House[] house = houseService.List();for (int i = 0; i < house.length; i++) {if(house[i] == null) {break;}System.out.println(house[i]);}System.out.println("房屋列表显示完毕~~");}
//    用户输入新增房屋信息public void addHouse() {System.out.println("----------新增房屋----------");System.out.print("姓名:");String name = Utility.readString(4);System.out.print("电话:");String telephone = Utility.readString(11);System.out.print("地址:");String address = Utility.readString(20);System.out.print("月租:");int rent = Utility.readInt(4);System.out.print("状态(已出租/未出租):");String state = Utility.readString(3);House newHouse = new House(0, name, telephone, address, rent, state);if(houseService.Add(newHouse)) {System.out.println("添加房屋成功~~");} else {System.out.println("添加房屋失败~~");}}
//    用户输入待查找房屋的idpublic void findHouse() {System.out.println("----------查找房屋----------");System.out.print("请输入要查找的房屋id:");int findId = Utility.readInt(4);House house = houseService.findById(findId);if(house != null) {System.out.println(house);} else {System.out.println("该房屋编号不存在~~");}}
//    用户输入待删除房屋的编号public void delHouse() {System.out.println("----------删除房屋----------");System.out.print("请输入待删除房屋的编号(-1退出):");int delId = Utility.readInt(4);if(delId == -1) {System.out.println("放弃删除房屋信息~~");return;}System.out.println("你确定要删除吗?");char choice = Utility.readConfirmSelection();if(choice == 'Y') {if(houseService.Delete(delId)) {System.out.println("删除房屋信息成功~~");} else {System.out.println("房屋编号不存在,无法删除~~");}} else {System.out.println("放弃删除房屋信息~~");}}
//    用户修改房屋信息public void updateHouse() {System.out.println("----------修改房屋----------");System.out.print("请输入待修改房屋的编号(-1退出):");int updateId = Utility.readInt(4);if(updateId == -1) {System.out.println("放弃修改房屋信息~~");return;}House house = houseService.findById(updateId);if(house == null) {System.out.println("房屋编号不存在,无法修改~~");return;} else {System.out.print("姓名(" + house.getName() + "):");String name = Utility.readString(4, "");if (!"".equals(name)) {house.setName(name);}System.out.print("电话(" + house.getTelephone() + "):");String telephone = Utility.readString(11, "");if(!"".equals(telephone)) {house.setTelephone(telephone);}System.out.print("地址(" + house.getAddress() + "):");String address = Utility.readString(20, "");if(!"".equals(address)) {house.setAddress(address);}System.out.print("月租(" + house.getRent() + "):");int rent = Utility.readInt(-1);if(rent != -1) {house.setRent(rent);}System.out.print("状态(" + house.getState() + "):");String state = Utility.readString(3, "");if(!"".equals(state)) {house.setState(state);}System.out.println("房屋信息修改成功~~");}}
//    退出系统public void Exit() {char isExit = Utility.readConfirmSelection();if(isExit == 'Y') {loop = false;}}
}

业务逻辑类

public class HouseService {House[] house = new House[1000];int houseNum = 0;int idCount = 0;//    返回房屋信息public House[] List() {return house;}//    新增房屋public boolean Add(House newHouse) {if (houseNum == house.length) {System.out.println("房屋已满,不能再添加~~");return false;}house[houseNum++] = newHouse;newHouse.setId(++idCount);  //让房屋编号自增长,从1开始return true;}//    查找房屋public House findById(int findId) {for (int i = 0; i < houseNum; i++) {if (findId == house[i].getId()) {return house[i];}}return null;}//    删除房屋public boolean Delete(int delId) {int index = -1;for (int i = 0; i < houseNum; i++) {if (delId == house[i].getId()) {index = i;break;}}if (index == -1) {return false;}for (int i = index; i < houseNum - 1; i++) {house[i] = house[i + 1];}house[--houseNum] = null;return true;}
}

房屋类

public class House {private int  id;private String name;private String telephone;private String address;private int rent;private String state;public House(int id, String name, String telephone, String address, int rent, String state) {this.id = id;this.name = name;this.telephone = telephone;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 getTelephone() {return telephone;}public void setTelephone(String telephone) {this.telephone = telephone;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}public double getRent() {return rent;}public void setRent(int rent) {this.rent = rent;}public String getState() {return state;}public void setState(String state) {this.state = state;}@Overridepublic String toString() {return id + "\t\t" + name + "\t\t" + telephone + "\t\t"+ address + "\t\t" + rent + "\t\t" + state;}
}

Java小项目——房屋出租系统相关推荐

  1. java学习笔记(9) 第9章 Java项目-房屋出租系统

    Java项目-房屋出租系统 代码打包--百度网盘链接: 9.1 房屋出租系统-需求 9.1.1 项目需求说明 9.2 房屋出租系统-界面 9.3 房屋出租系统-设计(!!) 9.4 房屋出租系统-实现 ...

  2. Java/java程序设计:房屋出租系统:要求实现:新增房源,查找房屋信息,修改房屋信息,删除房屋信息,显示所有房屋列表,退出房屋管理系统;

    Java/java程序设计:房屋出租系统: 一.前言: 一.1. 框架图 二.各类包下的代码实现: 1. 主文件(运行文件HouseApp.java) 2. 房屋类文件(House.java) 3. ...

  3. Java笔记之房屋出租系统(十一)

    目录 一.项目需求说明 二.界面说明 1.主界面 2.新增房源界面 3.查找房源界面 4.删除房源界面 5.修改房源界面 6.房源列表界面 7.退出界面 三.程序框架图设计 四.工具类的说明 五.房屋 ...

  4. Java笔记——11.房屋出租系统

    11.房屋出租系统 项目需求说明 实现基于文本界面的"房屋出租系统" 能够实现对房屋信息的添加.修改和删除(用数组实现),并且能够打印房屋明细表 主菜单页面: 新增房源页面: 查找 ...

  5. java小项目租车系统_Java学习笔记三十:Java小项目之租车系统

    Java小项目之租车系统 一:项目背景介绍: 根据所学知识,编写一个控制台版的"呱呱租车系统" 功能: 1.展示所有可租车辆: 2.选择车型.租车量: 3.展示租车清单,包含:总金 ...

  6. java小项目租车系统_Java小作业--嘻嘻租车小系统

    Java作业–租车小系统 项目介绍: 根据所学知识,编写一个控制台版的"嘻嘻租车系统" 功能: 展示所有可租车辆 选择车型.租车天数 展示租车清单,包括:总金额.总载货量及其车型 ...

  7. java小项目鲜花销售系统

    项目:七彩鲜花销售系统 一.练习目标 1.体会数组的作用 2.找到分层开发的感觉 3.收获分层开发的兴趣 4.作出效果,找到自信 5.学会调试错误 6.掌握数组的增删改查方法 全部讲解和练习时间控制在 ...

  8. JAVA小项目之影院系统和员工管理系统

    员工管理系统(部门员工类) import java.util.ArrayList;public class Dept {private int dno;private String dname;pri ...

  9. java小项目——点餐系统

    package bilibili_project.Meau; import java.util.ArrayList; import java.util.List; import java.util.S ...

最新文章

  1. 好程序员web前端分享HTML基础篇
  2. 门限的限意思是什么_门限是什么意思_门限英文翻译
  3. linux中的shell脚本case,【shell】Linux shell 之 case 详解
  4. centos 程序 mysql_Centos 源码安装 MySQL
  5. MyEclipse:新导入一个项目时中文乱码
  6. 软件测试薪资标准新鲜出炉,你达标了吗?
  7. 基于linux嵌入式的开发,基于Linux的嵌入式GUI的研究与开发
  8. 虚拟化是什么,主要有哪些虚拟化技术?
  9. C#窗体应用显示用户sa登录失败
  10. OpenCV图像处理——阈值处理/二值化(python实现和c++实现)
  11. 计算机视觉中头部姿态估计的研究综述--Head Pose Estimation in Computer Vision - A Survey
  12. 多线程的三种设计模式的介绍
  13. java实验7 常用类的使用
  14. Radxa Rock 3a NPU调用指南
  15. repeat语句 及 赋值语句说明---verilog HDL
  16. 怎么跳槽?这七步走完,你完全可以面试大厂了
  17. CNAS 实验室认可规范文件清单 (截止2022年10月1日)
  18. 去除整个字符串中的字符
  19. SQL日志太大?教你一键清理
  20. 鸿蒙系统如何添加桌面小程序,从微信小程序到鸿蒙js开发【04】——list组件

热门文章

  1. 云时代,企事业单位如何进行资产管理?
  2. 性能--曲线拐点模型分析
  3. 如何建设一套高标准的智慧监所电教系统
  4. 程序员不要仅靠经验,不多思考
  5. jsp连接数据库大全
  6. 迷路在现代软件工程中的羔羊——略读邹欣老师《构建之法》及讲义有感(附上源代码管理软件以及CI/CD调研Demo)
  7. 35万民企为何不如5万公务员滋润,寓言故事
  8. matlab scatter函数怎么设置对数坐标
  9. 刚下飞机,到手的 offer 没了!跨境电商巨头被曝大规模毁约
  10. 2020年总结---不要因为走的太远,而忘记当初,为什么出发