import java.lang.Object;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Car implements Comparable {
private String brand;
private int price;
private Date date;
public Car(String brand, int price, Date date) {
this.brand = brand;
this.price = price;
this.date = date;
}
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
@Override
public String toString() {
return String.format("Car {brand:%s,\tprice:%d,\tdata:%s}", brand, price, new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date));
}
@Override
public int compareTo(Object o) {
if (o instanceof Car) {
Car car = (Car) o;
if (this.getPrice() < car.getPrice()) {
return 1;
} else if (this.getPrice() > car.getPrice()) {
return -1;
} else {
return this.getBrand().compareTo(car.getBrand());
}
}
return 0;
}
}import java.util.*;
public class Test {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
TreeSet<Car> set = new TreeSet<>();
while (true) {
System.out.print("请输入品牌和价格,以逗号分割:");
String[] arr = scanner.nextLine().split("[,,]");
if (arr.length < 2) {
System.out.println("输入有误!");
continue;
}
set.add(new Car(arr[0], Integer.parseInt(arr[1]), new Date()));
if (set.size() >= 3) {
System.out.print("是否继续录入(y.继续 n.退出)? >> ");
String next = scanner.nextLine();
if ("n".equals(next)) {
break; // 退出
}
}
}
for (Car car : set) {
System.out.println(car);
}
}
}
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/2934349b033b5bb588201c3b3ad3d539b700bc7b?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)