我想創建一個小型停車系統,有四個類:一個用于用戶輸入,一個使用 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
提交
取消