房屋出租管理系统
Service
HouseService.java
package service;
import domain.House;
public class HouseService {
private House[] house;
private int houseNums;
private int idCounter;
public HouseService(int size) {
house = new House[size];
house[0] = new House(0,"玖儿",189,"双流区",1200,"未出租");
}
public House[] list() {
return house;
}
public boolean add(House house) {
if(houseNums > this.house.length) {
return false;
}
house.setId(++idCounter);
this.house[houseNums++] = house;
return true;
}
public House find(int id) {
int index = -1;
for (int i = 0; i < houseNums; i++) {
if(id == house[i].getId()) {
index = i;
return house[i];
}
}
return null;
}
public boolean del(int id) {
int index = -1;
for (int i = 0; i < houseNums; i++) {
if(id == house[i].getId()) {
index = i;
}
}
if(index == -1) {
return false;
}
for (int i = index; i < houseNums - 1; i++) {
house[i] = house[i + 1];
}
house[--houseNums] = null;
return true;
}
}
View
HouseView.java
package view;
import java.util.Scanner;
import domain.House;
import service.HouseService;
public class HouseView {
private int key;
private Boolean loop = true;
Scanner scanner = new Scanner(System.in);
HouseService houseService = new HouseService(10);
public void mainMenu() {
while(loop) {
System.out.println("\n===========================房 屋 出 租 系 统================");
System.out.println("\t\t\t1 新 增 房 屋");
System.out.println("\t\t\t2 查 找 房 屋");
System.out.println("\t\t\t3 删 除 房 屋");
System.out.println("\t\t\t4 修 改 房 屋 信 息");
System.out.println("\t\t\t5 房 屋 列 表");
System.out.println("\t\t\t6 退 出");
System.out.println("请输入你的选择(1-6):");
key = scanner.nextInt();
switch (key) {
case 1:
addHouses();
break;
case 2:
findHouse();
break;
case 3:
delHouse();
break;
case 4:
updateHouse();
break;
case 5:
listHouse();
break;
case 6:
loop = false;
break;
default:
break;
}
}
}
public void addHouses() {
System.out.println("================新 增 房 屋================");
System.out.println("姓名:");
String name = scanner.next();
System.out.println("电话:");
double phone = scanner.nextDouble();
System.out.println("地址:");
String address = scanner.next();
System.out.println("月租:");
int salary = scanner.nextInt();
System.out.println("状态(未出租/已出租)");
String state = scanner.next();
House house = new House(0,name,phone,address,salary,state);
boolean add = houseService.add(house);
if(add) {
System.out.println("================新 增 房 屋 成 功============");
}else {
System.out.println("================新 增 房 屋 失 败============");
}
}
public void listHouse() {
System.out.println("========================房 屋 列 表====================");
System.out.println("编号\t房主\t电话\t地址\t月租\t状态(未出租/已出租)");
House[] house = houseService.list();
for (int i = 0; i < house.length; i++) {
if(house[i] == null) {
return;
}
System.out.println(house[i]);
}
}
public void findHouse() {
System.out.println("请输入待查找房屋编号:");
int id = scanner.nextInt();
System.out.println("========================查 找 房 屋====================");
System.out.println("编号\t房主\t电话\t地址\t月租\t状态(未出租/已出租)");
House house =houseService.find(id);
if(house == null) {
System.out.println("=======================查 找 失 败====================");
return ;
}
System.out.println(house);
System.out.println("=====================查 找 房 屋 成 功==================");
}
public void delHouse() {
System.out.println("请输入待删除房屋编号:");
int id = scanner.nextInt();
boolean del = houseService.del(id);
if(!del) {
System.out.println("未查找到待删除编号");
}
System.out.println("删除成功!!!");
}
public void updateHouse() {
System.out.println("请输入待修改房屋编号:");
int id = scanner.nextInt();
House find = houseService.find(id);
if(find == null) {
System.out.println("房屋编号不存在!!!");
return;
}
System.out.println("================修 改 房 屋================");
System.out.println("姓名(" + find.getName() + "):");
String name = scanner.next();
if(!name.equals("\n")) {
find.setName(name);
}
System.out.println("电话(" + find.getPhone() + "):");
double phone = scanner.nextDouble();
find.setPhone(phone);
System.out.println("地址(" + find.getAddress() + "):");
String address = scanner.next();
if(!address.equals("\n")) {
find.setAddress(address);;
}
System.out.println("月租(" + find.getSalay() + ")");
int salary = scanner.nextInt();
find.setSalay(salary);
System.out.println("状态(未出租/已出租)("+ find.getState() + "):");
String state = scanner.next();
if(!state.equals("\n")) {
find.setState(state);
}
System.out.println("==============修 改 房 屋 成 功==============");
}
}
HouseApp.java
package view;
public class HouseApp {
public static void main(String[] args) {
HouseView houseView = new HouseView();
houseView.mainMenu();
}
}
domain
House.java
package domain;
public class House {
private int id;
private String name;
private double phone;
private String address;
private int salay;
private String state;
public House() {
super();
// TODO Auto-generated constructor stub
}
public House(int id, String name, double phone, String address, int salay, String state) {
super();
this.id = id;
this.name = name;
this.phone = phone;
this.address = address;
this.salay = salay;
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 double getPhone() {
return phone;
}
public void setPhone(double phone) {
this.phone = phone;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public int getSalay() {
return salay;
}
public void setSalay(int salay) {
this.salay = salay;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
@Override
public String toString() {
return id + "\t" + name + "\t" + phone + "\t" + address + "\t" + salay
+ "\t" + state ;
}
}
运行结果:
===========================房 屋 出 租 系 统================
1 新 增 房 屋
2 查 找 房 屋
3 删 除 房 屋
4 修 改 房 屋 信 息
5 房 屋 列 表
6 退 出
请输入你的选择(1-6):
1
================新 增 房 屋================
姓名:
玄商神君
电话:
194
地址:
天庭
月租:
2500
状态(未出租/已出租)
未出租
================新 增 房 屋 成 功============
===========================房 屋 出 租 系 统================
1 新 增 房 屋
2 查 找 房 屋
3 删 除 房 屋
4 修 改 房 屋 信 息
5 房 屋 列 表
6 退 出
请输入你的选择(1-6):
5
========================房 屋 列 表====================
编号 房主 电话 地址 月租 状态(未出租/已出租)
5 苏玖儿 123.0 朝阳区 1200 未出租
6 寒狰 124.0 双流区 1400 已出租
7 离光夜昙 153.0 高新区 1800 未出租
8 玄商神君 194.0 天庭 2500 未出租
===========================房 屋 出 租 系 统================
1 新 增 房 屋
2 查 找 房 屋
3 删 除 房 屋
4 修 改 房 屋 信 息
5 房 屋 列 表
6 退 出
请输入你的选择(1-6):
2
请输入待查找房屋编号:
5
========================查 找 房 屋====================
编号 房主 电话 地址 月租 状态(未出租/已出租)
5 苏玖儿 123.0 朝阳区 1200 未出租
=====================查 找 房 屋 成 功==================
===========================房 屋 出 租 系 统================
1 新 增 房 屋
2 查 找 房 屋
3 删 除 房 屋
4 修 改 房 屋 信 息
5 房 屋 列 表
6 退 出
请输入你的选择(1-6):
3
请输入待删除房屋编号:
6
删除成功!!!
===========================房 屋 出 租 系 统================
1 新 增 房 屋
2 查 找 房 屋
3 删 除 房 屋
4 修 改 房 屋 信 息
5 房 屋 列 表
6 退 出
请输入你的选择(1-6):
5
========================房 屋 列 表====================
编号 房主 电话 地址 月租 状态(未出租/已出租)
5 苏玖儿 123.0 朝阳区 1200 未出租
7 离光夜昙 153.0 高新区 1800 未出租
8 玄商神君 194.0 天庭 2500 未出租
===========================房 屋 出 租 系 统================
1 新 增 房 屋
2 查 找 房 屋
3 删 除 房 屋
4 修 改 房 屋 信 息
5 房 屋 列 表
6 退 出
请输入你的选择(1-6):
4
请输入待修改房屋编号:
8
================修 改 房 屋================
姓名(玄商神君):
玄商神君
电话(194.0):
183
地址(天庭):
凡间
月租(2500)
1200
状态(未出租/已出租)(未出租):
已出租
==============修 改 房 屋 成 功==============
===========================房 屋 出 租 系 统================
1 新 增 房 屋
2 查 找 房 屋
3 删 除 房 屋
4 修 改 房 屋 信 息
5 房 屋 列 表
6 退 出
请输入你的选择(1-6):
5
========================房 屋 列 表====================
编号 房主 电话 地址 月租 状态(未出租/已出租)
5 苏玖儿 123.0 朝阳区 1200 未出租
7 离光夜昙 153.0 高新区 1800 未出租
8 玄商神君 183.0 凡间 1200 已出租
===========================房 屋 出 租 系 统================
1 新 增 房 屋
2 查 找 房 屋
3 删 除 房 屋
4 修 改 房 屋 信 息
5 房 屋 列 表
6 退 出
请输入你的选择(1-6):
6