Java小项目——房屋出租系统
程序入口
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小项目——房屋出租系统相关推荐
- java学习笔记(9) 第9章 Java项目-房屋出租系统
Java项目-房屋出租系统 代码打包--百度网盘链接: 9.1 房屋出租系统-需求 9.1.1 项目需求说明 9.2 房屋出租系统-界面 9.3 房屋出租系统-设计(!!) 9.4 房屋出租系统-实现 ...
- Java/java程序设计:房屋出租系统:要求实现:新增房源,查找房屋信息,修改房屋信息,删除房屋信息,显示所有房屋列表,退出房屋管理系统;
Java/java程序设计:房屋出租系统: 一.前言: 一.1. 框架图 二.各类包下的代码实现: 1. 主文件(运行文件HouseApp.java) 2. 房屋类文件(House.java) 3. ...
- Java笔记之房屋出租系统(十一)
目录 一.项目需求说明 二.界面说明 1.主界面 2.新增房源界面 3.查找房源界面 4.删除房源界面 5.修改房源界面 6.房源列表界面 7.退出界面 三.程序框架图设计 四.工具类的说明 五.房屋 ...
- Java笔记——11.房屋出租系统
11.房屋出租系统 项目需求说明 实现基于文本界面的"房屋出租系统" 能够实现对房屋信息的添加.修改和删除(用数组实现),并且能够打印房屋明细表 主菜单页面: 新增房源页面: 查找 ...
- java小项目租车系统_Java学习笔记三十:Java小项目之租车系统
Java小项目之租车系统 一:项目背景介绍: 根据所学知识,编写一个控制台版的"呱呱租车系统" 功能: 1.展示所有可租车辆: 2.选择车型.租车量: 3.展示租车清单,包含:总金 ...
- java小项目租车系统_Java小作业--嘻嘻租车小系统
Java作业–租车小系统 项目介绍: 根据所学知识,编写一个控制台版的"嘻嘻租车系统" 功能: 展示所有可租车辆 选择车型.租车天数 展示租车清单,包括:总金额.总载货量及其车型 ...
- java小项目鲜花销售系统
项目:七彩鲜花销售系统 一.练习目标 1.体会数组的作用 2.找到分层开发的感觉 3.收获分层开发的兴趣 4.作出效果,找到自信 5.学会调试错误 6.掌握数组的增删改查方法 全部讲解和练习时间控制在 ...
- JAVA小项目之影院系统和员工管理系统
员工管理系统(部门员工类) import java.util.ArrayList;public class Dept {private int dno;private String dname;pri ...
- java小项目——点餐系统
package bilibili_project.Meau; import java.util.ArrayList; import java.util.List; import java.util.S ...
最新文章
- 好程序员web前端分享HTML基础篇
- 门限的限意思是什么_门限是什么意思_门限英文翻译
- linux中的shell脚本case,【shell】Linux shell 之 case 详解
- centos 程序 mysql_Centos 源码安装 MySQL
- MyEclipse:新导入一个项目时中文乱码
- 软件测试薪资标准新鲜出炉,你达标了吗?
- 基于linux嵌入式的开发,基于Linux的嵌入式GUI的研究与开发
- 虚拟化是什么,主要有哪些虚拟化技术?
- C#窗体应用显示用户sa登录失败
- OpenCV图像处理——阈值处理/二值化(python实现和c++实现)
- 计算机视觉中头部姿态估计的研究综述--Head Pose Estimation in Computer Vision - A Survey
- 多线程的三种设计模式的介绍
- java实验7 常用类的使用
- Radxa Rock 3a NPU调用指南
- repeat语句 及 赋值语句说明---verilog HDL
- 怎么跳槽?这七步走完,你完全可以面试大厂了
- CNAS 实验室认可规范文件清单 (截止2022年10月1日)
- 去除整个字符串中的字符
- SQL日志太大?教你一键清理
- 鸿蒙系统如何添加桌面小程序,从微信小程序到鸿蒙js开发【04】——list组件