Java飞机订票系统

介绍

Java飞机订票系统是一个用于管理飞机票务的应用程序。它允许用户查看航班信息、查询座位可用性、预订和取消航班座位等操作。该系统基于Java语言实现,采用面向对象的设计模式,通过数据库来存储和管理数据。

功能特点

Java飞机订票系统提供了以下主要功能:

查看航班信息

用户可以查看不同航班的起飞时间、到达时间、航程、航班号等信息。这些信息是从数据库中获取的,并以易于阅读的方式展示给用户。

// 从数据库中获取航班信息
String query = "SELECT * FROM flights";
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query);

// 遍历结果集并打印航班信息
while (resultSet.next()) {
    String flightNumber = resultSet.getString("flight_number");
    String departureTime = resultSet.getString("departure_time");
    String arrivalTime = resultSet.getString("arrival_time");
    String duration = resultSet.getString("duration");

    System.out.println("航班号:" + flightNumber);
    System.out.println("起飞时间:" + departureTime);
    System.out.println("到达时间:" + arrivalTime);
    System.out.println("航程:" + duration);
    System.out.println("--------------------");
}

查询座位可用性

用户可以查询某个航班的座位可用性情况。系统会显示已经被预订的座位以及剩余的可用座位数量。

// 从数据库中获取某个航班的座位信息
String query = "SELECT * FROM seats WHERE flight_number = 'ABC123'";
PreparedStatement statement = connection.prepareStatement(query);
ResultSet resultSet = statement.executeQuery();

// 统计已预订的座位数量
int bookedSeats = 0;
while (resultSet.next()) {
    if (resultSet.getBoolean("booked")) {
        bookedSeats++;
    }
}

// 获取总座位数
String query = "SELECT COUNT(*) FROM seats WHERE flight_number = 'ABC123'";
PreparedStatement statement = connection.prepareStatement(query);
ResultSet resultSet = statement.executeQuery();
resultSet.next();
int totalSeats = resultSet.getInt(1);

// 计算剩余座位数
int availableSeats = totalSeats - bookedSeats;

System.out.println("已预订座位数:" + bookedSeats);
System.out.println("剩余座位数:" + availableSeats);

预订和取消座位

用户可以预订座位或取消已预订的座位。系统会检查座位的可用性,并将预订信息更新到数据库中。

// 预订座位
String query = "UPDATE seats SET booked = true WHERE seat_number = 'A1' AND flight_number = 'ABC123'";
Statement statement = connection.createStatement();
int rowsUpdated = statement.executeUpdate(query);

if (rowsUpdated > 0) {
    System.out.println("座位预订成功!");
} else {
    System.out.println("座位已被预订,请选择其他座位。");
}

// 取消座位预订
String query = "UPDATE seats SET booked = false WHERE seat_number = 'A1' AND flight_number = 'ABC123'";
Statement statement = connection.createStatement();
int rowsUpdated = statement.executeUpdate(query);

if (rowsUpdated > 0) {
    System.out.println("座位取消预订成功!");
} else {
    System.out.println("座位预订已取消或不存在该座位。");
}

总结

Java飞机订票系统通过使用Java语言和数据库,提供了一个方便快捷的方式来管理飞机票务。用户可以查看航班信息、查询座位可用性、预订和取消座位等操作。该系统具有良好的扩展性和可维护性,可以根据实际需求进行定制和改进。

本文提供的代码示例仅为演示用途,实际应用中可能需要更复杂的错误处理、安全性措施和性能优化等。