我想创建一个小型停车系统,有四个类:一个用于用户输入,一个使用 ArrayList 类(CarPark)维护停车位列表,一个 ParkingSlot 类和一个汽车类。ArrayList 由 ParkingSlot 对象的值组成。ParkingSlot 值之一是 Car 类的对象。首先,用户在 CarPark ArrayList 中创建一个停车位,然后可以选择用汽车占用它。在使用该计划之前,应检查登记号码是否已在停车场内。这是我努力正确编码该方法的地方。我想出了一种方法来检查注册号是否已经在停车场中,但此时程序崩溃,因为在创建停车位后,它们未被占用,因此默认的汽车值=“null”。因此程序会检查注册输入是否为“null”。应用程序中接受用户输入的部分:System.out.println("Enter the car registration number of the type \"A1234\" "); input = scanner.nextLine(); if(input.matches("[A-Z][0-9]{4}")) { if (carParkObj.constrains(input)) == false{ .......}这是我尝试用来检查 CarPark ArrayList 中是否存在该号码的方法:public boolean constrains(String searching) { for(ParkingSlot slot : slots) { if (slot.getCar().getRegistrationNumber().equals(searching)) return true; } return false;}ParkingSlot 构造函数:public ParkingSlot(String newId, String newType, boolean staffMember) { this.id = newId; this.type = newType; this.staffMember = staffMember; this.car =null;}
1 回答
慕慕森
TA贡献1856条经验 获得超17个赞
用这个:
public boolean contains(String searching)
{
for(ParkingSlot slot : slots)
{
if(slot.getCar()!=null)
if (slot.getCar().getRegistrationNumber().equals(searching))
return true;
}
return false;
}
错误已删除:
System.out.println("Enter the car registration number of the type \"A1234\" ");
input = scanner.nextLine();
if(input.matches("[A-Z][0-9]{4}"))
{
if (!carParkObj.contains(input))//if the regno is not already present
{
.......
}
添加回答
举报
0/150
提交
取消