java定义一个汽车类,定义一个测试类,键盘逐个y/n录入显示品牌价格,录入时间 用到set集合

java定义一个汽车类,定义一个测试类,键盘逐个y/n录入显示品牌价格,录入时间 用到set集合1.定义一个车辆类;属性有:品牌brand;价位price;信息录入时间date;
2.定义一个测试类:定义一个TreeSet集合存储车辆的基本信息;
3.每次录入完一辆车的信息后都提示是否继续录入;y表示继续录入,n表示不再录入,程序结束;但是当车辆少于三辆时,强制要求继续录入;超过三辆时输入y继续录入,输入n就不再录入,程序结束;
4.最后展示录入结果,按照车辆的价位倒序输出,如果价位相同按照车辆品牌的字典顺序排序;
5.将最后的信息保存到car.txt文件中;
效果图如下;

思路提示:
1.定义一个车辆类Car 属性 String brand、int price、Date date;
Set和get方法;
2.测试类; 创建TreeSet集合,count 计数;Scanner;
循环录入,不知道循环多少次用while(true);

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);
        }
    }
}

温馨提示:答案为网友推荐,仅供参考