Java编程实现// 1.房子有户型,总面积和家具名称列表 // 新房子是没有家具的 // 2.家具有名字和占地面积,其中 // eg:占地 6平方米 // 3.将以上三件家具添加到房子中 // 4.打印房子的时候,要求输出:户型 总面积 剩余面积 家具名称列表
时间: 2023-06-09 08:02:04 浏览: 60
答案:
下面是Java编程实现。
```java
public class Furniture {
private String name;
private double area;
public Furniture(String name, double area) {
this.name = name;
this.area = area;
}
public String getName() {
return name;
}
public double getArea() {
return area;
}
}
public class House {
private String layout;
private double totalArea;
private double remainingArea;
private List<Furniture> furnitureList;
public House(String layout, double totalArea) {
this.layout = layout;
this.totalArea = totalArea;
this.remainingArea = totalArea;
this.furnitureList = new ArrayList<>();
}
public void addFurniture(Furniture furniture) {
if (remainingArea >= furniture.getArea()) {
furnitureList.add(furniture);
remainingArea -= furniture.getArea();
} else {
System.out.println("No enough space for " + furniture.getName());
}
}
public void showInfo() {
StringBuilder sb = new StringBuilder();
sb.append("Layout: ").append(layout).append("\n")
.append("Total area: ").append(totalArea).append(" sq.m.\n")
.append("Remaining area: ").append(remainingArea).append(" sq.m.\n")
.append("Furniture: ").append("\n");
for (Furniture furniture : furnitureList) {
sb.append("- ").append(furniture.getName()).append(" (").append(furniture.getArea()).append(" sq.m.)\n");
}
System.out.println(sb.toString());
}
}
public class Main {
public static void main(String[] args) {
House house = new House("2 bedrooms, 1 living room", 100);
Furniture bed = new Furniture("Bed", 4);
Furniture sofa = new Furniture("Sofa", 8);
Furniture table = new Furniture("Table", 2);
house.addFurniture(bed);
house.addFurniture(sofa);
house.addFurniture(table);
house.showInfo();
}
}
```
输出结果:
```
Layout: 2 bedrooms, 1 living room
Total area: 100.0 sq.m.
Remaining area: 86.0 sq.m.
Furniture:
- Bed (4.0 sq.m.)
- Sofa (8.0 sq.m.)
- Table (2.0 sq.m.)
```