检查 Arraylist 中是否存在值,其中包含值和类对象

我想创建一个小型停车系统,有四个类:一个用于用户输入,一个使用 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;

}


饮歌长啸
浏览 90回答 1
1回答

慕慕森

用这个: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            {             .......}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java