1. 有5个硬盘,有两个重要的属性:价格和容量。编写一个应用程序,分别按照价格和容量排序并输出5个硬盘的相应信息。 1) 创建Hardware类,声明类属性price和volume,定义有参构造方法,并重写toString()方法,定义get和set变量price和volume类方法。 2) 创建TreeMap,添加元素,键为Hardware对象中价格,值为对象。 3) 通过foreach循环,遍历该TreeMap的值。
时间: 2024-03-05 22:51:27 浏览: 82
好的,下面是示例代码:
```java
import java.util.*;
class Hardware {
private double price;
private int volume;
public Hardware(double price, int volume) {
this.price = price;
this.volume = volume;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public int getVolume() {
return volume;
}
public void setVolume(int volume) {
this.volume = volume;
}
@Override
public String toString() {
return "硬盘价格:" + price + " 元,容量:" + volume + " GB";
}
}
public class Main {
public static void main(String[] args) {
// 创建TreeMap并添加元素
Map<Double, Hardware> priceMap = new TreeMap<>();
Map<Integer, Hardware> volumeMap = new TreeMap<>();
priceMap.put(359.0, new Hardware(359.0, 1000));
priceMap.put(299.0, new Hardware(299.0, 2000));
priceMap.put(599.0, new Hardware(599.0, 3000));
priceMap.put(199.0, new Hardware(199.0, 500));
priceMap.put(999.0, new Hardware(999.0, 4000));
volumeMap.put(1000, new Hardware(359.0, 1000));
volumeMap.put(2000, new Hardware(299.0, 2000));
volumeMap.put(3000, new Hardware(599.0, 3000));
volumeMap.put(500, new Hardware(199.0, 500));
volumeMap.put(4000, new Hardware(999.0, 4000));
// 按价格排序并输出
System.out.println("按价格排序:");
for (Hardware hardware : priceMap.values()) {
System.out.println(hardware);
}
// 按容量排序并输出
System.out.println("按容量排序:");
for (Hardware hardware : volumeMap.values()) {
System.out.println(hardware);
}
}
}
```
输出结果如下:
```
按价格排序:
硬盘价格:199.0 元,容量:500 GB
硬盘价格:299.0 元,容量:2000 GB
硬盘价格:359.0 元,容量:1000 GB
硬盘价格:599.0 元,容量:3000 GB
硬盘价格:999.0 元,容量:4000 GB
按容量排序:
硬盘价格:199.0 元,容量:500 GB
硬盘价格:359.0 元,容量:1000 GB
硬盘价格:299.0 元,容量:2000 GB
硬盘价格:599.0 元,容量:3000 GB
硬盘价格:999.0 元,容量:4000 GB
```
阅读全文