如何避免使用此 for 回圈低于 0?當這個回圈執行時,它會檢查車輛和車庫是否在同一個空間中。如果不是,它會減少車輛回圈--i以獲取下一個可用車輛。當它到達時index 0,它會低于index -1導致程式崩潰。
for (int i = vehicles.size() - 1; i >= 0;) {
for (int j = 0; j < garage.size();) {
if (this.garage.get(j).getSpace() == this.vehicles.get(i).getSpace()) {
if (this.garage.get(j).garageRequest(vehicles.get(i).getvehiclesType())
&& this.garage.get(j).getLimit() > 0) {
this.garage.get(j).addvehicles(vehicles.get(i));
this.vehicles.remove(i);
i--;
break;
} else {
j ;
}
} else {
i--;
j = 0;
}
}
我最后嘗試了以下
else if(i != 0) {
i--;
j = 0;
}
uj5u.com熱心網友回復:
向您的內部回圈添加第二個條件。也就是改變
for (int j = 0; j < garage.size();) {
至
for (int j = 0; j < garage.size() && i >= 0;) {
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/531999.html
標籤:爪哇算法
