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

Java初学笔记10

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

Java初学笔记10

Java初学笔记10
  • 1 常用的开发模式
  • 2 房屋出租系统三层框架图
  • 3 房屋出租系统-界面层-代码实现分析
  • 4 房屋出租系统-房屋信息-代码实现分析
  • 5 房屋出租系统-添加房屋信息-代码实现分析
  • 6 房屋出租系统-删除房屋信息-代码实现分析
  • 7 房屋出租系统-查找房屋信息-代码实现分析
  • 8 房屋出租系统-修改房屋信息-代码实现分析
  • 9 框架
  • 10 House.java
  • 11 HouseView.java
  • 12 HouseService.java
  • 13 HouseRentApp.java

1 常用的开发模式

(1)分层模式
(2)modul模式
(3)mvc模式
目的:使程序扩展性,可变性变强

2 房屋出租系统三层框架图

3 房屋出租系统-界面层-代码实现分析

4 房屋出租系统-房屋信息-代码实现分析

5 房屋出租系统-添加房屋信息-代码实现分析

6 房屋出租系统-删除房屋信息-代码实现分析

7 房屋出租系统-查找房屋信息-代码实现分析

8 房屋出租系统-修改房屋信息-代码实现分析

9 框架

10 House.java
package project.rent_house.domain;


public class House {
    //编号 房主 电话 地址 月租 状态(未出租/已出租)
    private int id;
    private String homeowner;
    private String phone;
    private String address;
    private int rent;
    private String state;

    public House(int id, String homeowner, String phone, String address,
                 int rent, String state) {
        this.id = id;
        this.homeowner = homeowner;
        this.phone = phone;
        this.address = address;
        this.rent = rent;
        this.state = state;
    }

    public int getId() {
        return id;
    }

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

    public String getHomeowner() {
        return homeowner;
    }

    public void setHomeowner(String homeowner) {
        this.homeowner = homeowner;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getAddress() {
        return address;
    }

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

    public int getRent() {
        return rent;
    }

    public void setRent(int rent) {
        this.rent = rent;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    @Override
    public String toString() {
        return  id +
                "tt" + homeowner +
                "tt" + phone +
                "tt" + address +
                "tt" + rent +
                "tt" + state;
    }
}

11 HouseView.java
package project.rent_house.view;

import project.rent_house.domain.House;
import project.rent_house.service.HouseService;
import project.rent_house.utils.Utility;


public class HouseView {

    private boolean loop = true ; //控制显示菜单
    private char userIn = ' '; //用户菜单选择输入
    HouseService houseService = new HouseService(3);

    //修改房屋信息
    public void reSetRomm(){
        System.out.println("================修改房屋信息================");
        System.out.println("输入修改的房屋ID:");
        int keyRoom = Utility.readInt();
        House house = houseService.findHouse(keyRoom);
        if(house == null){
            System.out.println("房屋不存在,无法修改");
            return;
        }

        System.out.print("n电话("+ house.getPhone() +"):");
        String ph = Utility.readString(10, "");
        if(!"".equals(ph)){
            house.setPhone(ph);
        }
        System.out.print("n姓名("+ house.getHomeowner() +"):");
        String name = Utility.readString(10, "");
        if(!"".equals(name)){
            house.setHomeowner(name);
        }
        System.out.print("n地址("+ house.getAddress() +"):");
        String add = Utility.readString(10, "");
        if(!"".equals(add)){
            house.setAddress(add);
        }
        System.out.print("n租金("+ house.getRent() +"):");
        int re = Utility.readInt(-1);
        if(re != -1){
            house.setRent(re);
        }
        System.out.print("n状态("+ house.getState() +"):");
        String sta = Utility.readString(10, "");
        if(!"".equals(sta)){
            house.setState(sta);
        }
        return;
    }

    //查找房屋信息
    public void findRoom(){
        System.out.println("================已有房屋ID如下================");
        int[] roomID = houseService.roomID();
        System.out.print("目前可查询的房屋有:n");
        for (int i = 0; roomID[i] != 0; i++) {
            System.out.print(roomID[i] + "t");
        }
        System.out.println("n输入要查找的房间标号:");
        int userKey = Utility.readInt();
        if(houseService.findRoomInfor(userKey)){
            return;
        }
        return;
    }

    //退出系统
    public void exit(){
        char c = Utility.read/confirm/iSelection();
        if(c == 'Y'){
            loop = false;
            System.out.println("退出房屋出租系统-------->");
        }
    }

    //删除房屋信息
    public void delHouse(){
        System.out.println("================删除房屋信息================");
        System.out.print("请输入删除房间的标号:(-1退出)");
        int keyUser = Utility.readInt();
        if(keyUser == -1){
            return;
        }
        char c = Utility.read/confirm/iSelection();
        if(c=='Y'){
            if(houseService.del(keyUser)){
                System.out.println("================删除房屋成功================");
            }
            return;
        }
        return;
    }

    //增加房屋信息
    public void addHouse(){
        System.out.println("================增加房屋信息================");
        System.out.print("姓名:");
        String name = Utility.readString(10);
        System.out.print("电话:");
        String phonr = Utility.readString(10);
        System.out.print("地址:");
        String address = Utility.readString(10);
        System.out.print("月租:");
        int rent = Utility.readInt();
        System.out.print("状态(未出租/已出租):");
        String state = Utility.readString(3);
        House newHouse = new House(0,name,phonr,address,rent,state);
        if(houseService.add(newHouse)){
            System.out.println("================增加信息成功================n");
        }
    }

    //显示房屋列表
    public void listHouses(){
        System.out.println("================房屋信息列表================");
        System.out.println("编号tt房主tt电话tt地址ttt月租ttt状态(未出租/已出租)");
        House[] houses = houseService.list();
        for (int i = 0; i < houses.length; i++) {
            if(houses[i] != null){
                System.out.println(houses[i].toString());
            }
        }
        System.out.println("================房屋信息显示完毕================n");
    }
    //显示主菜单
    public void mainManu(){
        do{
            System.out.println("============房屋出租系统============");
            System.out.println("ttt1 新 增 房 屋");
            System.out.println("ttt2 查 找 房 屋");
            System.out.println("ttt3 删 除 房 屋");
            System.out.println("ttt4 修 改 房 屋");
            System.out.println("ttt5 房 屋 列 表");
            System.out.println("ttt6 退      出");
            System.out.print("请输入(1-6):");
            userIn = Utility.readChar();
            switch (userIn){
                case '1':
                    addHouse();
                    break;
                case '2':
                    findRoom();
                    break;
                case '3':
                    delHouse();
                    break;
                case '4':
                    reSetRomm();
                    break;
                case '5':
                    listHouses();
                    break;
                case '6':
                    exit();
                    break;
                default:
                    System.out.println("请重新输入!");
            }
        }while(loop);
    }
}

12 HouseService.java
package project.rent_house.service;

import project.rent_house.domain.House;


public class HouseService {

    private House[] houses;
    private int houseNum = 1; //记录已有房屋数量
    private int id_room = 1; //记录房屋id号

    public boolean findRoomInfor(int keyroom){
        int flag = -1;
        for (int i = 0; i < houses.length; i++) {
            if(keyroom == houses[i].getId()){
                flag = i;
                break;
            }
        }
        if(flag == -1){
            System.out.println("房屋信息查询失败!");
            return false;
        }
        System.out.println("正在载入房屋信息------->");
        System.out.println(houses[flag].toString());
        return true;
    }

    //查找房屋
    public House findHouse(int keyhouse){
        int falg = -1;
        for (int i = 0; i < houses.length; i++) {
            if(keyhouse == houses[i].getId()){
                falg = i;
                break;
            }
        }
        if(falg == -1){
            return null;
        }
        return houses[falg];
    }

    //返回现有房屋ID
    public int[] roomID(){
        int[] key = new int[houses.length];
        for (int i = 0; houses[i] != null; i++) {
            key[i] = houses[i].getId();
        }
        return key;
    }

    //删除房屋信息
    public boolean del(int roomKey){
        if(roomKey > id_room || roomKey < 1 || houses.length <= 0){
            System.out.println("房间不存在----------------->");
            return false;
        }
        int temp = -1;
        for (int i = 0; i < houses.length; i++) {
            if(houses[i].getId() == roomKey){
                temp = i ;
                break;
            }
        }
        if(temp == -1){
            System.out.println("房间不存在----------------->");
            return false;
        }
        for (int i = temp; i < houses.length - 1; i++) {
            houses[i] = houses[i+1];
        }
        houses[--houseNum] = null;
        return true;
    }

    //增加房屋信息
    public boolean add(House newHouse){
        if(houseNum == houses.length){
            System.out.println("房屋数组已经满了,小二正在打扫新客房------>");
            //动态扩容
            House[] tempHouse = new House[houses.length+1];
            for (int i = 0; i < houses.length; i++) {
                tempHouse[i] = houses[i];
            }
            houses = tempHouse;
        }
        newHouse.setId(++id_room);  //实现房屋id号自增标号
        houses[houseNum++] = newHouse;
        return true;
    }

    public HouseService(int size){
        houses = new House[size];
        houses[0] = new House(1,"大志","158","石油大学",
                2000,"已出租");
    }
    //返回房屋信息
    public House[] list(){
        return houses;
    }
}

13 HouseRentApp.java
package project.rent_house;

import project.rent_house.view.HouseView;


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

部分图片来自B站韩顺平老师

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

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

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