为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

饮歌长啸 2023-07-28 16:15:47
我想创建一个小型停车系统,有四个类:一个用于用户输入,一个使用 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

            {

             .......


}


查看完整回答
反对 回复 2023-07-28
  • 1 回答
  • 0 关注
  • 89 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信