2014-01-10 89 views
0

我在Java中創建預訂系統以防止重複預訂我創建了一個for循環,該循環應該在預訂完成後更改布爾值來預訂,但它會將所有預訂更改爲預訂時,我只需要一個預訂實例,以便其他人無法預訂。For循環填充整個而不是一個實例

public static boolean booked; 

private void FSubmitActionPerformed(java.awt.event.ActionEvent evt) { 

for (int i = 0; i < Airplane.Fseat.length; i++) 
{ 
    String seat = FCol.getSelectedItem().toString() + FRow.getSelectedItem().toString(); 
    String items = Snack.getSelectedItem().toString() + " " + Drink.getSelectedItem().toString(); 
    Airplane.Fseat[i] = seat; 
    Airplane.item[i] = items; 

    if (Airplane.Fseat[i] != null) 
    { 
     System.out.println("Seat number is First class " + Airplane.Fseat[i].toString() + "\n" +"Food and drink " + " " + Airplane.item[i].toString()); 
     i++; 
    } 

    else 
    { 
     System.out.println("Cannot book already taken"); 
    } 
} 
+2

你設置'Airplane.Fseat [i] =座;'你測試之前,如果它是空的。所以自然你永遠不會達到「不能預訂已經採取」 –

+0

你會推薦什麼改變它? – user3182909

+0

我不能說,我不知道什麼FCol,FRow,小吃或飲料。此外,你提到一旦預訂了某個東西,就將布爾值更改爲true,但在代碼中看不到布爾值。很難提出建議,當我不知道如何構建代碼來匹配你的程序 –

回答

0

你還沒有任何條件檢查,如何選擇一個特定的座位。

所以,你需要作爲修改代碼:

for (int i = 0; i < Airplane.Fseat.length; i++) 
     { 

      String seat = FCol.getSelectedItem().toString() + FRow.getSelectedItem().toString(); 
      String items = Snack.getSelectedItem().toString() + " " + Drink.getSelectedItem().toString(); 

     if(your_condition_to_check_if_this_seat_is_selcted){  

      Airplane.Fseat[i] = seat; 
      Airplane.item[i] = items; 

     } 

      if (Airplane.Fseat[i] != null) 
      { 
       System.out.println("Seat number is First class " + Airplane.Fseat[i].toString() + "\n" +"Food and drink " + " " + Airplane.item[i].toString()); 
       i++; 
      } 

      else 
      { 
       System.out.println("Cannot book already taken"); 
      } 
     }