PTA(接口)用java写 7-10 房屋、住宅、写字楼类

PTA(接口)用java写 7-10 房屋、住宅、写字楼类

编写一个Java程序,能够处理房屋、住宅、写字楼的信息。
分析楼房、住宅、写字楼之间的关系,分别定义类。其中,楼房是基类,用于描述一座楼房的层数、总平方米数。住宅除了具有楼房的属性外,还有卧室数、浴室数;写字楼除了具有楼房的属性外,还有房间数和灭火器的数量。
编程定义类,在主程序中定义住宅类的对象和写字楼类的对象,设置信息并输出对象的信息。

系统参考代码如下:

/* 请在下面的【】处补充代码
*/
//测试类
public class Main {

public static void main(String[] args) {
     Building build = new Building();
     build.setBuilding(5, 5000);
     build.show(); 

     House house = new House();
     house.setHouse(6,6000,120,60);
     house.show();
     
     OfficeBuilding office = new OfficeBuilding();
     office.setOffice(10, 15000, 50, 200);
     office.show();

}

}
//楼房类:描述一座楼房的层数、总平方米数
class Building {
int layers; //层数
int area; //面积(平方米数)

//设置楼房信息
public void setBuilding(int layers, int area) {
    【  】        
}
//显示楼房信息
public void show() {
    System.out.printf("层数:%d,总面积:%d",layers,area);
}

}
//住宅除了具有楼房的属性(层数、总面积)外,还有卧室数、浴室数
class House 【】{
int bedRooms;
int bathRooms;

public void setHouse(int layers, int area, int bedRooms,int bathRooms) {
    【】
}
@Override
public void show() {
    System.out.print("\n住宅:");
    【】
}

}

//写字楼除了具有楼房的属性(层数、面积)外,还有房间数和灭火器的数量
class OfficeBuilding extends Building {
int rooms; //房间数
int extinguishers; //灭火器数量

public void setOffice(int layers, int area, int rooms,int extinguishers) {
    【】
}
@Override
public void show() {
    System.out.print("\n写字楼:");
    【】
}

}
输入格式:
无。

输出格式:
层数:xx,总面积:xxxx
住宅:层数:x,总面积:xxxx卧室数:xxxx,浴室数:xx
写字楼:层数:xx,总面积:xxxxx房间数:xx,灭火器数:xxx

输入样例:

输出样例:
层数:5,总面积:5000
住宅:层数:6,总面积:6000卧室数:120,浴室数:60
写字楼:层数:10,总面积:15000房间数:50,灭火器数:200

public class Main {

    public static void main(String[] args) {
         Building build = new Building();
         build.setBuilding(5, 5000);
         build.show(); 
    
         House house = new House();
         house.setHouse(6,6000,120,60);
         house.show();
         
         OfficeBuilding office = new OfficeBuilding();
         office.setOffice(10, 15000, 50, 200);
         office.show();

    }

}
//楼房类:描述一座楼房的层数、总平方米数
class Building {
    int layers;   //层数
    int area;    //面积(平方米数)
    
    //设置楼房信息
    public void setBuilding(int layers, int area) {
           this.layers=layers;
        this.area=area;
    }
    //显示楼房信息
    public void show() {
        System.out.printf("层数:%d,总面积:%d",layers,area);
    }
}
//住宅除了具有楼房的属性(层数、总面积)外,还有卧室数、浴室数
class House extends Building{
    int bedRooms;
    int bathRooms;
    
    public void setHouse(int layers, int area, int bedRooms,int bathRooms) {
         this.layers=layers;
        this.area=area;
        this.bedRooms=bedRooms;
        this.bathRooms=bathRooms;
        
    }
    @Override
    public void show() {
        System.out.print("\n住宅:");
         System.out.printf("层数:%d,总面积:%d卧室数:%d,浴室数:%d",layers,area,bedRooms,bathRooms);
    }
}

//写字楼除了具有楼房的属性(层数、面积)外,还有房间数和灭火器的数量
class OfficeBuilding extends Building {
    int  rooms;         //房间数
    int extinguishers;  //灭火器数量
    
    public void setOffice(int layers, int area, int rooms,int extinguishers) {
       this.layers=layers;
        this.area=area;
        this.rooms=rooms;
        this.extinguishers=extinguishers;
    }
    @Override
    public void show() {
        System.out.print("\n写字楼:");
        System.out.printf("层数:%d,总面积:%d房间数:%d,灭火器数:%d",layers,area,rooms,extinguishers);
    }
}
  • 9
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,根据你给出的题目描述,我可以为你提供一个初步的设计方案,帮助你完成这道题目。 首先,我们需要定义一个基类 `Building`,来描述一座楼房的基本属性,如层数、面积、地址等。在 `Building` 类中,我们可以定义以下属性和方法: ```java public class Building { private int floors; // 层数 private double area; // 面积 private String address; // 地址 public Building(int floors, double area, String address) { this.floors = floors; this.area = area; this.address = address; } // getter 和 setter 方法 public int getFloors() { return floors; } public void setFloors(int floors) { this.floors = floors; } public double getArea() { return area; } public void setArea(double area) { this.area = area; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } // 输出楼房信息的方法 public void printInfo() { System.out.println("Floors: " + floors); System.out.println("Area: " + area); System.out.println("Address: " + address); } } ``` 接着,我们可以定义住宅写字楼两个子类,来继承 `Building` 类,并分别添加各自的特有属性和方法。 ```java // 住宅类 public class Residence extends Building { private int rooms; // 房间数 private int bathrooms; // 卫生间数 public Residence(int floors, double area, String address, int rooms, int bathrooms) { super(floors, area, address); this.rooms = rooms; this.bathrooms = bathrooms; } // getter 和 setter 方法 public int getRooms() { return rooms; } public void setRooms(int rooms) { this.rooms = rooms; } public int getBathrooms() { return bathrooms; } public void setBathrooms(int bathrooms) { this.bathrooms = bathrooms; } // 输出住宅信息的方法 @Override public void printInfo() { super.printInfo(); System.out.println("Rooms: " + rooms); System.out.println("Bathrooms: " + bathrooms); } } // 写字楼类 public class OfficeBuilding extends Building { private String companyName; // 公司名 private int floorsForOffice; // 办公用楼层数 public OfficeBuilding(int floors, double area, String address, String companyName, int floorsForOffice) { super(floors, area, address); this.companyName = companyName; this.floorsForOffice = floorsForOffice; } // getter 和 setter 方法 public String getCompanyName() { return companyName; } public void setCompanyName(String companyName) { this.companyName = companyName; } public int getFloorsForOffice() { return floorsForOffice; } public void setFloorsForOffice(int floorsForOffice) { this.floorsForOffice = floorsForOffice; } // 输出写字楼信息的方法 @Override public void printInfo() { super.printInfo(); System.out.println("Company Name: " + companyName); System.out.println("Floors for Office: " + floorsForOffice); } } ``` 最后,在主函数中,我们可以创建几个实例,分别输出它们的属性和方法。 ```java public class Main { public static void main(String[] args) { // 创建一个楼房实例 Building building = new Building(10, 500.0, "No.1 Building, XX Street, Beijing"); building.printInfo(); // 创建一个住宅实例 Residence residence = new Residence(5, 200.0, "No.2 Residence, XX Street, Shanghai", 3, 2); residence.printInfo(); // 创建一个写字楼实例 OfficeBuilding officeBuilding = new OfficeBuilding(20, 1000.0, "No.3 Office Building, XX Street, Shenzhen", "ABC Company", 15); officeBuilding.printInfo(); } } ``` 这样,就完成了这道题目的设计和实现。希望可以帮到你!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

এ᭄南书ོꦿృ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值