编写代码汽车销售数据的管理,数据保存在文件中。 (1)定义汽车类,汽车属性包括汽车编号、汽车品牌、汽车型号、价格、生产日期、颜色等信息,定义构造方法、getter方法、setter方法,可根据需要构建其他方法; (3)定义汽车销售管理类,属性可根据功能需要添加,实现如下功能: produceCar,生产汽车,也即构造出汽车对象,应写入Car.txt文件中,实现对汽车信息的保存; listCar,查看汽车产品数据 deleteSelledCar,删除指定的汽车销售数据。 PS:文件仅用于数据存储,对数据的处理建议将数据读入到内存中(可以用集合类),对内存数据处理完成后,完成文件数据的更新JAVA
时间: 2023-06-06 12:08:28 浏览: 118
非常适合此类任务。以下是一个简单的示例代码:
Car.java:
public class Car {
private int carNumber;
private String brand;
private String model;
private double price;
private String productionDate;
private String color;
public Car(int carNumber, String brand, String model, double price, String productionDate, String color) {
this.carNumber = carNumber;
this.brand = brand;
this.model = model;
this.price = price;
this.productionDate = productionDate;
this.color = color;
}
// getter and setter methods
}
CarSalesManagement.java:
import java.io.*;
import java.util.ArrayList;
public class CarSalesManagement {
private ArrayList<Car> cars = new ArrayList<Car>();
public void produceCar(int carNumber, String brand, String model, double price, String productionDate, String color) {
Car newCar = new Car(carNumber, brand, model, price, productionDate, color);
cars.add(newCar);
try {
BufferedWriter writer = new BufferedWriter(new FileWriter("Car.txt", true));
writer.append(carNumber + "," + brand + "," + model + "," + price + "," + productionDate + "," + color + "\n");
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public void listCar() {
for (Car car : cars) {
System.out.println(car.getCarNumber() + " " + car.getBrand() + " " + car.getModel() + " " + car.getPrice() + " " + car.getProductionDate() + " " + car.getColor());
}
}
public void deleteSelledCar(int carNumber) {
for (Car car : cars) {
if (car.getCarNumber() == carNumber) {
cars.remove(car);
break;
}
}
}
public void loadCarsFromDisk() {
cars.clear();
try {
BufferedReader reader = new BufferedReader(new FileReader("Car.txt"));
String line = reader.readLine();
while (line != null) {
String[] carData = line.split(",");
int carNumber = Integer.parseInt(carData[0]);
String brand = carData[1];
String model = carData[2];
double price = Double.parseDouble(carData[3]);
String productionDate = carData[4];
String color = carData[5];
Car car = new Car(carNumber, brand, model, price, productionDate, color);
cars.add(car);
line = reader.readLine();
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
在这个示例中,我们有一个Car类表示汽车,它包含了一些汽车的基本信息,并且有相应的getter和setter方法。然后我们有一个CarSalesManagement类负责管理汽车的销售,它通过ArrayList来保存所有的汽车。我们实现了几个方法:
- produceCar: 用于创建一个新的汽车并将其保存到文件中和内存中
- listCar: 显示所有的汽车数据
- deleteSelledCar: 根据汽车编号来删除指定的销售数据
- loadCarsFromDisk: 从文件中载入已有的汽车数据到内存中
我们的示例代码将数据保存为纯文本文件,每一行代表一个汽车,各项属性之间用逗号分隔。在CarSalesManagement类中的produceCar方法中,我们向文件末尾添加了一个新的行来记录新创建的汽车,这是通过BufferedWriter类实现。在loadCarsFromDisk方法中,我们使用BufferedReader来读取文件并将文件中的数据转换成Car对象。这样就可以在程序启动时从文件中读取已有的汽车数据并将其存储到内存中供其他方法使用。
阅读全文