я хочу сделать так: «если человек забронирует место, то доступные места должны быть уменьшены на одно». как я могу это сделать?

#java #arrays #decrement

Вопрос:

ПРОЦЕСС ЗАКЛЮЧАЕТСЯ В СЛЕДУЮЩЕМ: «Если человек забронирует место, свободные места должны быть уменьшены на одно место. Количество свободных мест-35. Я думаю, что для этого мне нужно использовать массив, но я понятия не имею, как его использовать.

Приведенный ниже код (доступные места), в котором я хочу показать доступные места.

       try {

        String route_number = rnB.toString();
        String depature_on = doB.toString();
        String depature_time = dtB.toString();
        String time_taken = timeB.toString();
        String available_seats = asB.toString();
        String price = pB.toString();
        String custname = name.toString();
        String custcontact = contact.toString();
        
        Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/eurobusdb?useSSL=false","root","Abc123");
        
        String SQL_INSERT_BOOKING = "INSERT INTO booking (Depature_Country_And_City , Destination_Country_And_City, Depature_On, Depature_Time, Estimated_Time_Taken, Available_Seats, Price, Status, route, name, contact_number) VALUES ( ?,?,?,?,?,?,?,?,?,?,?);";
        
        PreparedStatement preparedStatement = connection.prepareStatement(SQL_INSERT_BOOKING);
              System.out.println(preparedStatement);
        

        preparedStatement.setString(1, String.valueOf(combo1.getSelectedItem()));
        preparedStatement.setString(2, String.valueOf(combo2.getSelectedItem()));
        preparedStatement.setString(3, doB.getText());
        preparedStatement.setString(4, dtB.getText());
        preparedStatement.setString(5, timeB.getText());
        preparedStatement.setString(6, asb.getText());
        preparedStatement.setString(7, pB.getText());
        preparedStatement.setString(8, "Booked");
        preparedStatement.setString(9, rnB.getText());
        preparedStatement.setString(10, name.getText());
        preparedStatement.setString(11, contact.getText());
        preparedStatement.executeUpdate();
        
        System.out.println(preparedStatement);
          }
              
              
              
    } catch (Exception e) {
    }
 

Ответ №1:

Из того, что вы опубликовали, я чувствую, что вам нужно жестко указать значение числа мест как n, т. е.

 int n = 35;
 

С этого момента создайте метод для бронирования места и, когда этот метод вызывается из передней части, уменьшите значение на единицу.

 return_type bookSeat(someParameters...){
 // Some Function Code
  n--;
}
 

Если вы хотите иметь конкретную вещь, такую как номера мест, и если это место забронировано или нет
, создайте массив boolan, что-то вроде

 boolean arr[n 1] // denoting one based indexing
 

и сначала установите значения флага как true или false, обозначающие забронировано или нет, а затем, когда место забронировано, проверьте, забронировано ли оно уже или нет.
Если предположим, мне нужно проверить, забронировано 23-е место или нет
, мы могли бы проверить

 if(seatArr[23] == true){
//Some function or output
}
else{
//Something else
}