栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

oop 房屋租聘系统

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

oop 房屋租聘系统

界面信息

新增房源

 

查找房源

删除房源

修改房源

房屋列表 

 

退出

 

 代码实现  界面  
package com.house;

import java.util.Scanner;

public class HouseRent {
    //让do  while 死循环
    boolean loop=true;
    //控制台接收scanner
    Scanner scanner=new Scanner(System.in);
    //接收输入的数字
    String  key= "";
    //创建houseService对象     给数组长度赋值
    private HouseService houseService=new HouseService(2);
//界面
    public void listhst(){
        System.out.println("===房屋列表===");
        System.out.println("编号tt房主tt电话tt地址tt月租tt状态(未出租/已出租)");
        House[] list = houseService.list();
        for (int i = 0; i < list.length; i++) {
            if(list[i]!=null){
                System.out.println(list[i]);
            }
        }
        System.out.println("===房屋列表显示完毕===");
    }

    public static void main(String[] args) {
        HouseRent h=new HouseRent();
        h.HouseRents();
    }
public  void HouseRents(){
        do {
            System.out.println("---------房屋租聘系统----------");
            System.out.println("1.新增房屋");
            System.out.println("2.查找房屋 ");
            System.out.println("3.删除房屋 ");
            System.out.println("4.修改房屋信息 ");
            System.out.println("5.房屋列表");
            System.out.println("6.退出");
            System.out.println("请选择1-6:");
              key=scanner.next();
            switch (key){
                case "1":
                    addHouse();
                    break;
                case "2":
                    findHouse();
                    break;
                case "3":
                    deleteHouse();
                    break;
                case "4":
                   editHouse();
                    break;
                case "5":

                    listhst();
                    break;
                case "6":
                    System.out.println("退出");
                    exit();
                    break;
                default:
                    System.out.println("你输入有误。。。。");
            }
        }while (loop);

    }

    //添加房屋的信息view
    public void addHouse(){
        System.out.println("==添加房屋信息==");
        System.out.println("名字:");
        String name=Utility.readString(8);
        System.out.println("电话:");
        String phone=Utility.readString(13);
        System.out.println("地址:");
        String address=Utility.readString(8);
        System.out.println("月租:");
        int rent=Utility.readInt(10);
        System.out.println("状态:");
        String state=Utility.readString(3);
        House house = new House(0,name,phone,address,rent,state);
        if(houseService.adds(house)){
            System.out.println("添加成功");
        }else{
            System.out.println("添加失败");
        }

    }
    //查看房屋的信息view
    public void findHouse(){
        System.out.println("====根据id查找====");
        System.out.println("请输入你要查找的id号");
          int id=Utility.readInt();
      if(houseService.find(id)!=null){
          System.out.println (houseService.find(id));
      }else{
          System.out.println("你输入的id不存在");
      }

    }
    //修改房屋的信息view
    public void editHouse(){
        System.out.println("=======修改房屋======");
        System.out.println("请选择房屋id(-1退出)");
        int id=Utility.readInt();
        if(id==-1){
            System.out.println("取消修改");
            return;
        }else{
           House h= houseService.find(id);
           if(h==null){
               System.out.println("你输入的ID不存在");
           }else{


            System.out.println("名字"+h.getName()+":");
            String name=Utility.readString(8,"");
            if(!"".equals(name)){
                h.setName(name);
            }
            System.out.println("电话"+ h.getTel()+":");
            String phone=Utility.readString(13,"");
            if(!"".equals(phone)){
                h.setTel(phone);
            }
            System.out.println("地址"+h.getAddress()+":");
            String address=Utility.readString(8,"");
            if(!"".equals(address)){
                h.setAddress(address);
            }
            System.out.println("月租"+h.getMonthly_rent()+":");
            int rent=Utility.readInt(-1);
            if(rent!=-1){
                h.setMonthly_rent(rent);
            }
            System.out.println("状态"+h.getState()+":");
            String state=Utility.readString(3,"");
            if (!"".equals(state)){
                h.setState(state);
            }
            System.out.println("修改房屋信息成功=========");
        }
        }
    }
    //删除房屋的信息view
    public void deleteHouse(){
        System.out.println("====删除房屋信息====");
        System.out.println("请输入待删除的房屋编号(-1退出)");
        int id=Utility.readInt();
        if(id==-1){
            System.out.println("取消删除房屋信息");
            return;
        }
        char c=Utility.readConfirmSelection();
        if(c=='Y'){
            if(houseService.delete(id)){
                System.out.println("成功删除房屋信息");
            }else{
                System.out.println(" 删除房屋信息失败 你的id不存在");
            }
        }else {
            System.out.println("取消删除房屋信息");
        }


    }
//退出的方法
    public void exit(){
        String exits="";
        while (true){
            System.out.println("是否退出Y/N");
            exits=scanner.next();
            if("y".equals(exits) ||"n".equals(exits)){
                break;
            }
        }
        if(exits.equals("y")){
            loop=false;
        }


    }


}
 servic
package com.house;

public class HouseService {
    //定义一个数组对象
    private House[] houses;
    //定义一个记录数组个数的变量
    private int housesize=1;
    //定义一个id的变量
    private int idcounter=1;
    //定义一个变量记录id的位置
    int index=-1;
   //  写一个构造器
    public HouseService(int siez) {
        //创建一个新的对象数组siez数组个数
        houses = new House[siez];
        //为了方便初始化一个房屋数据
        houses[0] = new House(1,"jke", "123", "长沙", 2000, "未出租");
    }
     // list 方法  返回houses
    public House[] list() {
        return houses;
    }
    //增加的方法  添加新对象   返回boolean
    public boolean add(House house){
        //判断是否还能够添加(这个方法没考虑扩容的问题)如果当前数组个数等于数组长度就不能添加了
        if(housesize==houses.length){
            System.out.println("已经不能添加了");
            //返回false
           return  false;
        }
        //如果housesize不等于houses.length 就把house加入到数组里面
        //housesize默认是1因为是后++所有结束后就housesize+1
        houses[housesize++]=house;
        //自定义的id赋值给house的id属性
        house.setId(++idcounter);
        //返回true
        return true;
    }
   //del方法,删除一个房屋信息
    //应该先找到要删除的房屋信息对应的下标
   //一定要搞清楚 下标和房屋的编号不是一回事
    public boolean delete(int id){
         index=-1;
        for (int i = 0; i  
 工具类 
package com.house;




import java.util.*;

public class Utility {
	//静态属性。。。
    private static Scanner scanner = new Scanner(System.in);

    
    
	public static char readMenuSelection() {
        char c;
        for (; ; ) {
            String str = readKeyBoard(1, false);//包含一个字符的字符串
            c = str.charAt(0);//将字符串转换成字符char类型
            if (c != '1' && c != '2' && 
                c != '3' && c != '4' && c != '5') {
                System.out.print("选择错误,请重新输入:");
            } else break;
        }
        return c;
    }

	
    public static char readChar() {
        String str = readKeyBoard(1, false);//就是一个字符
        return str.charAt(0);
    }
    
    
    public static char readChar(char defaultValue) {
        String str = readKeyBoard(1, true);//要么是空字符串,要么是一个字符
        return (str.length() == 0) ? defaultValue : str.charAt(0);
    }
	
    
    public static int readInt() {
        int n;
        for (; ; ) {
            String str = readKeyBoard(2, false);//一个整数,长度<=2位
            try {
                n = Integer.parseInt(str);//将字符串转换成整数
                break;
            } catch (NumberFormatException e) {
                System.out.print("数字输入错误,请重新输入:");
            }
        }
        return n;
    }
    
    public static int readInt(int defaultValue) {
        int n;
        for (; ; ) {
            String str = readKeyBoard(10, true);
            if (str.equals("")) {
                return defaultValue;
            }
			
			//异常处理...
            try {
                n = Integer.parseInt(str);
                break;
            } catch (NumberFormatException e) {
                System.out.print("数字输入错误,请重新输入:");
            }
        }
        return n;
    }

    

    public static String readString(int limit) {
        return readKeyBoard(limit, false);
    }

    
	
    public static String readString(int limit, String defaultValue) {
        String str = readKeyBoard(limit, true);
        return str.equals("")? defaultValue : str;
    }


	
    public static char readConfirmSelection() {
        System.out.println("请输入你的选择(Y/N)");
        char c;
        for (; ; ) {//无限循环
        	//在这里,将接受到字符,转成了大写字母
        	//y => Y n=>N
            String str = readKeyBoard(1, false).toUpperCase();
            c = str.charAt(0);
            if (c == 'Y' || c == 'N') {
                break;
            } else {
                System.out.print("选择错误,请重新输入:");
            }
        }
        return c;
    }

    
    private static String readKeyBoard(int limit, boolean blankReturn) {
        
		//定义了字符串
		String line = "";

		//scanner.hasNextLine() 判断有没有下一行
        while (scanner.hasNextLine()) {
            line = scanner.nextLine();//读取这一行
           
			//如果line.length=0, 即用户没有输入任何内容,直接回车
			if (line.length() == 0) {
                if (blankReturn) return line;//如果blankReturn=true,可以返回空串
                else continue; //如果blankReturn=false,不接受空串,必须输入内容
            }

			//如果用户输入的内容大于了 limit,就提示重写输入  
			//如果用户如的内容 >0 <= limit ,我就接受
            if (line.length() < 1 || line.length() > limit) {
                System.out.print("输入长度(不能大于" + limit + ")错误,请重新输入:");
                continue;
            }
            break;
        }

        return line;
    }
}
 对象类
package com.house;

import java.util.Scanner;

public class House {
    //id
    private int id;
    //名字
    private String name;
    //电话
    private String tel;
    //地址
    private String address;
    //月租
    private int monthly_rent;
    //状态
    private String state;

//构造器
    public House(int id,String name, String tel, String address, int monthly_rent, String state) {
        this.id=id;
        this.name = name;
        this.tel = tel;
        this.address = address;
        this.monthly_rent = monthly_rent;
        this.state = state;
    }

//get set 方法
    public String getName() {
        return name;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getTel() {
        return tel;
    }

    public void setTel(String tel) {
        this.tel = tel;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public int getMonthly_rent() {
        return monthly_rent;
    }

    public void setMonthly_rent(int monthly_rent) {
        this.monthly_rent = monthly_rent;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }
//打印的方法
    @Override
    public String toString() {
        return id+"tt"+name + "tt"
                        + tel +
                        "tt" +
                        address +
                        "tt" +
                        monthly_rent +
                        "tt" +
                        state;
    }
}

 

房屋出租系统-设计  项目设计-程序框架图 (分层模式=>当软件比较复杂,需要模式管理

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/760187.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号