我想創(chuàng)建一個(gè)小型停車(chē)系統(tǒng),有四個(gè)類(lèi):一個(gè)用于用戶輸入,一個(gè)用 ArrayList (CarPark) 維護(hù)停車(chē)位列表,一個(gè) ParkingSlot 類(lèi)和一個(gè)汽車(chē)類(lèi)。用戶菜單中的選項(xiàng)之一是將汽車(chē)停放在現(xiàn)有的停車(chē)位中。為此,用戶需要輸入汽車(chē)的車(chē)牌號(hào)碼。接下來(lái),汽車(chē)應(yīng)該停在停車(chē)場(chǎng),并且 ArrayList 應(yīng)該更新。首先,用戶創(chuàng)建 ParkingSlot 作為 CarPark 中 ArrayList 的對(duì)象。該對(duì)象中包含類(lèi) Car,該類(lèi)為“null”。用戶界面菜單的選項(xiàng)允許用戶將汽車(chē)停放在創(chuàng)建的槽位中。在這里,我很難以將汽車(chē)分配到特定插槽的方式對(duì)系統(tǒng)進(jìn)行編程。分配后,當(dāng)調(diào)用 CarPark 類(lèi)中的方法 listSlots 時(shí),汽車(chē)應(yīng)該出現(xiàn)在插槽 Id 旁邊。在 arrayList 中創(chuàng)建點(diǎn)的應(yīng)用程序類(lèi)的一部分:if (choice == 1) {System.out.println("Enter an ID of the type \"D##\""); input = scanner.nextLine(); if(input.matches("[D][0-9]{2}")) { if (carParkObj.hasParkingSlot(input) == false) { carParkObj.addParkingSlot(input, "Visitor"); } else { System.out.println("Invalid Input. This slotID alreasy exists!"); } break; } else { System.out.println("Invalid Input"); } break;}應(yīng)用程序類(lèi)中進(jìn)行汽車(chē)注冊(cè)的部分:else if (choice == 4) { System.out.println("Enter the car registration number of the type \"A1234\" "); input = scanner.nextLine(); if(input.matches("[A-Z][0-9]{4}")) { String newRegistrationNumber = input; System.out.println("Enter owner's name"); String newOwner = scanner.nextLine(); System.out.println("Is the owner Visitor or Staff member? For enter \"V\" for Visitor or \"S\" for staff member."); input = scanner.nextLine(); if (input.equals("V")) { boolean staffMember = false; Car car = new Car(newRegistrationNumber, newOwner, staffMember); //not sure that method do I need here to add the car to the Slot with the particular ID else { System.out.println("Invalid Input"); } }else { System.out.println("Invalid Input"); break;}
1 回答

撒科打諢
TA貢獻(xiàn)1934條經(jīng)驗(yàn) 獲得超2個(gè)贊
將汽車(chē)分配給特定槽位的快速而骯臟的方法是迭代槽位的 ArrayList,直到找到具有所需 ID 的槽位,這與刪除停車(chē)位的方法相同。
一種更簡(jiǎn)潔的方法是將停車(chē)位存儲(chǔ)為 a Map<String, ParkingSlot>
,其中鍵是停車(chē)位的 ID,值是停車(chē)位本身。然后您可以通過(guò)其 ID 簡(jiǎn)單地訪問(wèn)該插槽。
由于 Map 的鍵是一組,因此這也為您提供了一種快速檢查重復(fù) ID 的方法。
添加回答
舉報(bào)
0/150
提交
取消