用Java写一个汽车销售系统

时间: 2023-12-09 16:06:27 浏览: 27
好的,我可以提供一个简单的汽车销售系统的Java代码框架,你可以根据自己的需要进行修改和完善。这个系统包括以下几个类: 1. Car类:定义汽车的属性,如品牌、型号、颜色、价格等。 ```java public class Car { private String brand; private String model; private String color; private double price; public Car(String brand, String model, String color, double price) { this.brand = brand; this.model = model; this.color = color; this.price = price; } // 省略getter和setter方法 } ``` 2. Customer类:定义顾客的属性,如姓名、电话号码、地址等。 ```java public class Customer { private String name; private String phone; private String address; public Customer(String name, String phone, String address) { this.name = name; this.phone = phone; this.address = address; } // 省略getter和setter方法 } ``` 3. SalesSystem类:定义销售系统的主要功能,包括添加汽车、删除汽车、查询汽车、售出汽车等。 ```java import java.util.ArrayList; import java.util.List; public class SalesSystem { private List<Car> cars = new ArrayList<>(); private List<Customer> customers = new ArrayList<>(); // 添加汽车 public void addCar(Car car) { cars.add(car); } // 删除汽车 public void removeCar(Car car) { cars.remove(car); } // 查询汽车 public List<Car> queryCars(String brand, String model, String color, double price) { List<Car> result = new ArrayList<>(); for (Car car : cars) { if (brand != null && !car.getBrand().equals(brand)) { continue; } if (model != null && !car.getModel().equals(model)) { continue; } if (color != null && !car.getColor().equals(color)) { continue; } if (price > 0 && car.getPrice() > price) { continue; } result.add(car); } return result; } // 售出汽车 public void sellCar(Car car, Customer customer) { cars.remove(car); customers.add(customer); } // 省略其他功能方法 } ``` 4. Main类:程序入口,提供菜单供用户选择功能。用户可以选择添加汽车、删除汽车、查询汽车、售出汽车等操作。 ```java import java.util.List; import java.util.Scanner; public class Main { public static void main(String[] args) { SalesSystem system = new SalesSystem(); Scanner scanner = new Scanner(System.in); while (true) { System.out.println("请选择操作:"); System.out.println("1. 添加汽车"); System.out.println("2. 删除汽车"); System.out.println("3. 查询汽车"); System.out.println("4. 售出汽车"); System.out.println("5. 退出"); int choice = scanner.nextInt(); switch (choice) { case 1: System.out.println("请输入汽车品牌:"); String brand = scanner.next(); System.out.println("请输入汽车型号:"); String model = scanner.next(); System.out.println("请输入汽车颜色:"); String color = scanner.next(); System.out.println("请输入汽车价格:"); double price = scanner.nextDouble(); system.addCar(new Car(brand, model, color, price)); break; case 2: System.out.println("请输入汽车品牌:"); String brand2 = scanner.next(); System.out.println("请输入汽车型号:"); String model2 = scanner.next(); System.out.println("请输入汽车颜色:"); String color2 = scanner.next(); System.out.println("请输入汽车价格:"); double price2 = scanner.nextDouble(); List<Car> cars = system.queryCars(brand2, model2, color2, price2); if (cars.size() == 0) { System.out.println("未找到符合条件的汽车"); } else { System.out.println("请选择要删除的汽车:"); for (int i = 0; i < cars.size(); i++) { System.out.println((i + 1) + ". " + cars.get(i)); } int index = scanner.nextInt(); system.removeCar(cars.get(index - 1)); System.out.println("汽车已删除"); } break; case 3: System.out.println("请输入汽车品牌(可选):"); String brand3 = scanner.next(); System.out.println("请输入汽车型号(可选):"); String model3 = scanner.next(); System.out.println("请输入汽车颜色(可选):"); String color3 = scanner.next(); System.out.println("请输入最高价格(可选):"); double price3 = scanner.nextDouble(); List<Car> cars2 = system.queryCars(brand3, model3, color3, price3); if (cars2.size() == 0) { System.out.println("未找到符合条件的汽车"); } else { System.out.println("查询结果如下:"); for (Car car : cars2) { System.out.println(car); } } break; case 4: System.out.println("请输入汽车品牌:"); String brand4 = scanner.next(); System.out.println("请输入汽车型号:"); String model4 = scanner.next(); System.out.println("请输入汽车颜色:"); String color4 = scanner.next(); System.out.println("请输入汽车价格:"); double price4 = scanner.nextDouble(); List<Car> cars3 = system.queryCars(brand4, model4, color4, price4); if (cars3.size() == 0) { System.out.println("未找到符合条件的汽车"); } else { System.out.println("请选择要售出的汽车:"); for (int i = 0; i < cars3.size(); i++) { System.out.println((i + 1) + ". " + cars3.get(i)); } int index = scanner.nextInt(); System.out.println("请输入顾客姓名:"); String name = scanner.next(); System.out.println("请输入顾客电话:"); String phone = scanner.next(); System.out.println("请输入顾客地址:"); String address = scanner.next(); system.sellCar(cars3.get(index - 1), new Customer(name, phone, address)); System.out.println("汽车已售出"); } break; case 5: System.exit(0); default: System.out.println("无效操作,请重新选择"); break; } } } } ``` 以上就是一个简单的汽车销售系统的Java代码框架,你可以根据自己的需要进行修改和完善。

相关推荐

最新推荐

recommend-type

Scrapy-1.8.2.tar.gz

文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
recommend-type

search-log.zip

搜索记录,包括时间、搜索关键词等,用于PySpark案例练习
recommend-type

6-12.py

6-12
recommend-type

2-6.py

2-6
recommend-type

Scrapy-0.24.5-py2-none-any.whl

文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

2. 通过python绘制y=e-xsin(2πx)图像

可以使用matplotlib库来绘制这个函数的图像。以下是一段示例代码: ```python import numpy as np import matplotlib.pyplot as plt def func(x): return np.exp(-x) * np.sin(2 * np.pi * x) x = np.linspace(0, 5, 500) y = func(x) plt.plot(x, y) plt.xlabel('x') plt.ylabel('y') plt.title('y = e^{-x} sin(2πx)') plt.show() ``` 运行这段
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。