房屋出租系统

这个Java程序实现了一个简单的房屋出租系统,包括添加、查找、删除、修改和显示房屋信息的功能。用户通过命令行交互,系统能进行房屋管理操作,并提供退出选项。程序在输入验证和信息展示方面有待加强。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.oop.houserental;
import java.util.Scanner;

public class HouseRentalSystem {
    private String name;
    private String number;
    private String address;
    private String money;
    private String state;
    private String[][] houseInfo = new String[50][6];
    private int count = 0;
    private String id;
    private String confirm;
    private int index;
    boolean loop = true;
    Scanner myScanner = new Scanner(System.in);

    public void addHouse(){
        System.out.println("--------------------添加房屋--------------------");
        System.out.print("姓名:");
        name = myScanner.next();
        System.out.print("电话:");
        number = myScanner.next();
        System.out.print("地址:");
        address = myScanner.next();
        System.out.print("月租:");
        money = myScanner.next();
        System.out.print("状态(未出租/已出租):");
        state = myScanner.next();
        houseInfo[count][0] = count + 1 + "";
        houseInfo[count][1] = name;
        houseInfo[count][2] = number;
        houseInfo[count][3] = address;
        houseInfo[count][4] = money;
        houseInfo[count][5] = state;
        count++;
        System.out.println("--------------------添加完成--------------------");
    }


    public void findHouse(){
        System.out.println("--------------------查找房屋--------------------");
        System.out.print("请输入您要查找的id:");
        id = myScanner.next();
        if(Integer.parseInt(id) > count){
            System.out.println("--------------------没有该房屋--------------------");
            return;
        }
        for (int i = 0; i < count; i++) {
            if(Integer.parseInt(id) - 1 == i){
                System.out.println(houseInfo[i][0] + "\t" +
                        houseInfo[i][1] + "\t" +
                        houseInfo[i][2] + "\t" +
                        houseInfo[i][3] + "\t" +
                        houseInfo[i][4] + "\t" +
                        houseInfo[i][5]);
            }
        }
    }

    public void deleteHouse(){
        System.out.println("--------------------删除房屋--------------------");
        System.out.print("请输入您删除的房屋编号:");
        id = myScanner.next();
        if(Integer.parseInt(id) > count){
            System.out.println("--------------------房屋不存在--------------------");
            return;
        }
        while(true){
            System.out.println("您确认要删除吗?y/n");
            confirm = myScanner.next();
            if(confirm.equals("y") || confirm.equals("n")){
                break;
            }
            System.out.println("您输入错误,请重新输入!");
        }
        if(confirm.equals("y")){
            for (int i = 0; i < count; i++) {
                if(Integer.parseInt(id) - 1 == i){
                    index = i;
                }
            }
            if(index == count - 1){
                for (int i = 0; i < 6; i++) {
                    houseInfo[count - 1][i] = null;
                }
                count--;
                System.out.println("--------------------删除成功--------------------");
                return;
            }
            for (int i = 0; i < count; i++) {
                if(i >= index){
                    for (int j = 1; j < 5; j++) {
                        houseInfo[i][j] = houseInfo[i + 1][j];
                    }
                }
            }
            System.out.println("--------------------删除成功--------------------");
            count--;
        }
    }

    public void updateHouse(){
        System.out.println("--------------------修改房屋信息--------------------");
        System.out.println("请输入您要修改的房屋编号:");
        id = myScanner.next();
        if(Integer.parseInt(id) > count){
            System.out.println("--------------------房屋不存在--------------------");
            return;
        }
        System.out.println("请输入您要修改的房屋信息(回车则不修改):");
        System.out.print("姓名(" + houseInfo[Integer.parseInt(id) - 1][1] + "):");
        name = myScanner.next();
        if(!name.equals("\r")){
            houseInfo[Integer.parseInt(id) - 1][1] = name;
        }
        System.out.print("电话(" + houseInfo[Integer.parseInt(id) - 1][2] + "):");
        number = myScanner.next();
        if(!number.equals("\r")){
            houseInfo[Integer.parseInt(id) - 1][2] = number;
        }
        System.out.print("地址(" + houseInfo[Integer.parseInt(id) - 1][3] + "):");
        address = myScanner.next();
        if(!address.equals("\r")){
            houseInfo[Integer.parseInt(id) - 1][3] = address;
        }
        System.out.print("月租(" + houseInfo[Integer.parseInt(id) - 1][4] + "):");
        money = myScanner.next();
        if(!money.equals("\r")){
            houseInfo[Integer.parseInt(id) - 1][4] = money;
        }
        System.out.print("状态(" + houseInfo[Integer.parseInt(id) - 1][5] + "):");
        state = myScanner.next();
        if(!state.equals("\r")){
            houseInfo[Integer.parseInt(id) - 1][5] = state;
        }
        System.out.println("--------------------修改成功--------------------");
    }

    public void showHouse(){
        System.out.println("--------------------房屋列表--------------------");
        System.out.println("编号\t名字\t号码\t地址\t月租\t状态");
        for (int i = 0; i < count; i++) {
            for (int j = 0; j < 6; j++) {
                System.out.print(houseInfo[i][j]);
                System.out.print("\t");
            }
            System.out.println();
        }
    }

    public void exit(){
        while(true){
            System.out.println("请确认您是否要退出?y/n");
            confirm = myScanner.next();
            if(confirm.equals("y") || confirm.equals("n")){
                break;
            }
            System.out.println("您输入错误,请重新输入!");
        }
        if(confirm.equals("y")){
            loop = false;
            System.out.println("--------------------退出成功--------------------");
        }
    }

    public void meu(){
        String flag = null;
        while(loop){
            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.print("请选择(1-6):");
            flag = myScanner.next();
            switch (flag){
                case "1":
                    addHouse();
                    break;
                case "2":
                    findHouse();
                    break;
                case "3":
                    deleteHouse();
                    break;
                case "4":
                    updateHouse();
                    break;
                case "5":
                    showHouse();
                    break;
                case "6":
                    exit();
                    break;
                default:
                    System.out.println("您输入错误,请重新输入!");
                    break;
            }
        }
    }
}
public class HouseRentalApp {
    public static void main(String[] args) {
        HouseRentalSystem houseRentalSystem = new HouseRentalSystem();
        houseRentalSystem.meu();
    }
}
//问题:回车信息不改变,信息输出对齐
//改进:信息合理性的判断
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值