设计一个停车场信息管理系统,能够实现对停车位的信息管理(车位号、车主姓名、性别、年龄、车牌 号)。最后,停车信息输出到out.txt中
时间: 2024-01-09 08:03:30 浏览: 118
停车场信息管理系统
4星 · 用户满意度95%
好的,下面是一个简单的停车场信息管理系统的设计:
首先,需要有一个车位类 ParkingSpace,用于管理停车位的信息,它包含车位号、车主姓名、性别、年龄、车牌号等属性,以及相应的 getter 和 setter 方法。
```java
public class ParkingSpace {
private String number;
private String ownerName;
private String gender;
private int age;
private String licensePlate;
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getOwnerName() {
return ownerName;
}
public void setOwnerName(String ownerName) {
this.ownerName = ownerName;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getLicensePlate() {
return licensePlate;
}
public void setLicensePlate(String licensePlate) {
this.licensePlate = licensePlate;
}
}
```
接着,需要有一个停车场类 ParkingLot,用于管理多个车位,它包含一个 ParkingSpace 数组以及相应的 add、remove 和 search 方法,用于添加、删除和查找车位。
```java
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class ParkingLot {
private List<ParkingSpace> spaces;
public ParkingLot() {
spaces = new ArrayList<>();
}
public void addSpace(ParkingSpace space) {
spaces.add(space);
}
public void removeSpace(String number) {
for (ParkingSpace space : spaces) {
if (space.getNumber().equals(number)) {
spaces.remove(space);
break;
}
}
}
public ParkingSpace searchSpace(String number) {
for (ParkingSpace space : spaces) {
if (space.getNumber().equals(number)) {
return space;
}
}
return null;
}
public void printToFile(String filename) {
try (BufferedWriter writer = new BufferedWriter(new FileWriter(filename))) {
for (ParkingSpace space : spaces) {
writer.write(space.getNumber() + " " + space.getOwnerName() + " " +
space.getGender() + " " + space.getAge() + " " + space.getLicensePlate() + "\n");
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
最后,需要有一个主类 ParkingSystem,用于处理用户输入和输出信息,它包含一个 ParkingLot 对象以及相应的操作方法,用于添加、删除、查找车位以及将信息输出到文件中。
```java
import java.util.Scanner;
public class ParkingSystem {
private ParkingLot lot;
public ParkingSystem() {
lot = new ParkingLot();
}
public void addSpace() {
Scanner scanner = new Scanner(System.in);
ParkingSpace space = new ParkingSpace();
System.out.print("请输入车位号:");
space.setNumber(scanner.nextLine());
System.out.print("请输入车主姓名:");
space.setOwnerName(scanner.nextLine());
System.out.print("请输入车主性别:");
space.setGender(scanner.nextLine());
System.out.print("请输入车主年龄:");
space.setAge(scanner.nextInt());
scanner.nextLine();
System.out.print("请输入车牌号:");
space.setLicensePlate(scanner.nextLine());
lot.addSpace(space);
}
public void removeSpace() {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入要删除的车位号:");
String number = scanner.nextLine();
lot.removeSpace(number);
}
public void searchSpace() {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入要查找的车位号:");
String number = scanner.nextLine();
ParkingSpace space = lot.searchSpace(number);
if (space == null) {
System.out.println("没有找到该车位!");
} else {
System.out.println(space.getNumber() + " " + space.getOwnerName() + " " +
space.getGender() + " " + space.getAge() + " " + space.getLicensePlate());
}
}
public void printToFile() {
lot.printToFile("out.txt");
System.out.println("信息已输出到 out.txt 文件中!");
}
public void run() {
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();
scanner.nextLine();
switch (choice) {
case 1:
addSpace();
break;
case 2:
removeSpace();
break;
case 3:
searchSpace();
break;
case 4:
printToFile();
break;
case 5:
return;
default:
System.out.println("无效的选择,请重新输入!");
break;
}
}
}
public static void main(String[] args) {
ParkingSystem system = new ParkingSystem();
system.run();
}
}
```
在主类中,我们使用一个 while 循环来不断接受用户输入和处理用户请求。用户可以选择添加车位、删除车位、查找车位、将信息输出到文件以及退出程序。在不同的操作中,我们调用 ParkingLot 类中的方法来实现相应的功能。
最后,我们可以在主方法中创建一个 ParkingSystem 对象,并调用它的 run 方法来启动程序。程序运行后,可以根据提示输入相应的选项,进行停车场信息的管理和输出。
注意:为了使程序简单明了,我们没有对输入进行严格的校验和错误处理。在实际开发中,您可能需要增加更多的代码来处理这些问题。
阅读全文