如何用Java11+Eclipse2019制造一个具有房间管理、人员管理和预订管理简单的酒店前台系统,要详细步骤,关于毕业设计的
7条回答 默认 最新
檀越@新空间 2025-07-21 17:46关注下午好🌅🌅🌅
本答案参考通义千问要使用 Java 11 + Eclipse 2019 制作一个简单的酒店前台系统,包括房间管理、人员管理和预订管理功能,可以按照以下详细步骤进行。这个系统将是一个控制台应用程序(即没有图形界面),适合作为毕业设计的基础项目。
一、开发环境准备
1. 安装 Java 11
- 下载 OpenJDK 11 或 Oracle JDK 11
- 设置
JAVA_HOME环境变量 - 验证安装:在命令行输入
java -version
2. 安装 Eclipse 2019 (Eclipse IDE for Java Developers)
- 下载地址:https://www.eclipse.org/downloads/packages/release/2019-03/r/eclipse-jee-2019-03
- 解压并运行 eclipse.exe
二、创建 Java 项目
1. 新建 Java 项目
- 打开 Eclipse
- File → New → Java Project
- 输入项目名称:如
HotelManagementSystem - 确保 JRE 使用 Java 11
- 完成
2. 创建包结构
- 右键项目 → New → Package
- 创建如下包:
com.hotel.modelcom.hotel.servicecom.hotel.uicom.hotel.util
三、设计系统模块
1. 模型类(Model)
这些是系统的核心数据对象。
1.1 房间类
Room.javapackage com.hotel.model; public class Room { private int roomId; private String roomType; // 单人间、双人间等 private double pricePerNight; private boolean isAvailable; public Room(int roomId, String roomType, double pricePerNight) { this.roomId = roomId; this.roomType = roomType; this.pricePerNight = pricePerNight; this.isAvailable = true; } // Getters and Setters public int getRoomId() { return roomId; } public void setRoomId(int roomId) { this.roomId = roomId; } public String getRoomType() { return roomType; } public void setRoomType(String roomType) { this.roomType = roomType; } public double getPricePerNight() { return pricePerNight; } public void setPricePerNight(double pricePerNight) { this.pricePerNight = pricePerNight; } public boolean isAvailable() { return isAvailable; } public void setAvailable(boolean available) { isAvailable = available; } }1.2 人员类
Person.javapackage com.hotel.model; public class Person { private String name; private String idNumber; private String phone; public Person(String name, String idNumber, String phone) { this.name = name; this.idNumber = idNumber; this.phone = phone; } // Getters and Setters public String getName() { return name; } public void setName(String name) { this.name = name; } public String getIdNumber() { return idNumber; } public void setIdNumber(String idNumber) { this.idNumber = idNumber; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } }1.3 预订类
Booking.javapackage com.hotel.model; import java.time.LocalDate; public class Booking { private int bookingId; private Room room; private Person person; private LocalDate checkInDate; private LocalDate checkOutDate; private double totalCost; public Booking(int bookingId, Room room, Person person, LocalDate checkInDate, LocalDate checkOutDate) { this.bookingId = bookingId; this.room = room; this.person = person; this.checkInDate = checkInDate; this.checkOutDate = checkOutDate; this.totalCost = calculateTotalCost(room.getPricePerNight(), checkInDate, checkOutDate); } private double calculateTotalCost(double pricePerNight, LocalDate checkIn, LocalDate checkOut) { long days = java.time.temporal.ChronoUnit.DAYS.between(checkIn, checkOut); return pricePerNight * days; } // Getters and Setters public int getBookingId() { return bookingId; } public void setBookingId(int bookingId) { this.bookingId = bookingId; } public Room getRoom() { return room; } public void setRoom(Room room) { this.room = room; } public Person getPerson() { return person; } public void setPerson(Person person) { this.person = person; } public LocalDate getCheckInDate() { return checkInDate; } public void setCheckInDate(LocalDate checkInDate) { this.checkInDate = checkInDate; } public LocalDate getCheckOutDate() { return checkOutDate; } public void setCheckOutDate(LocalDate checkOutDate) { this.checkOutDate = checkOutDate; } public double getTotalCost() { return totalCost; } public void setTotalCost(double totalCost) { this.totalCost = totalCost; } }
四、服务类(Service)
4.1 房间管理类
RoomService.javapackage com.hotel.service; import com.hotel.model.Room; import java.util.ArrayList; import java.util.List; public class RoomService { private List<Room> rooms = new ArrayList<>(); public void addRoom(Room room) { rooms.add(room); } public List<Room> getAllRooms() { return rooms; } public Room findRoomById(int roomId) { for (Room room : rooms) { if (room.getRoomId() == roomId) { return room; } } return null; } public void updateRoomAvailability(int roomId, boolean available) { Room room = findRoomById(roomId); if (room != null) { room.setAvailable(available); } } }4.2 预订管理类
BookingService.javapackage com.hotel.service; import com.hotel.model.Booking; import java.util.ArrayList; import java.util.List; public class BookingService { private List<Booking> bookings = new ArrayList<>(); public void addBooking(Booking booking) { bookings.add(booking); } public List<Booking> getAllBookings() { return bookings; } public Booking findBookingById(int bookingId) { for (Booking booking : bookings) { if (booking.getBookingId() == bookingId) { return booking; } } return null; } public void cancelBooking(int bookingId) { bookings.removeIf(b -> b.getBookingId() == bookingId); } }
五、用户界面(UI)
5.1 主菜单类
MainUI.javapackage com.hotel.ui; import com.hotel.model.Room; import com.hotel.model.Person; import com.hotel.model.Booking; import com.hotel.service.RoomService; import com.hotel.service.BookingService; import java.time.LocalDate; import java.util.Scanner; public class MainUI { private static RoomService roomService = new RoomService(); private static BookingService bookingService = new BookingService(); public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // 初始化一些房间 roomService.addRoom(new Room(101, "单人间", 200)); roomService.addRoom(new Room(102, "双人间", 300)); while (true) { System.out.println("\n=== 酒店前台管理系统 ==="); System.out.println("1. 查看所有房间"); System.out.println("2. 添加新房间"); System.out.println("3. 查看所有预订"); System.out.println("4. 新增预订"); System.out.println("5. 取消预订"); System.out.println("6. 退出系统"); System.out.print("请选择操作: "); int choice = scanner.nextInt(); scanner.nextLine(); // 清除缓冲区 switch (choice) { case 1: showAllRooms(); break; case 2: addNewRoom(scanner); break; case 3: showAllBookings(); break; case 4: addNewBooking(scanner); break; case 5: cancelBooking(scanner); break; case 6: System.out.println("感谢使用本系统!"); return; default: System.out.println("无效选项,请重新选择!"); } } } private static void showAllRooms() { System.out.println("\n=== 所有房间信息 ==="); for (Room room : roomService.getAllRooms()) { System.out.println("房间号: " + room.getRoomId() + ", 类型: " + room.getRoomType() + ", 价格: " + room.getPricePerNight() + ", 是否可用: " + room.isAvailable()); } } private static void addNewRoom(Scanner scanner) { System.out.print("请输入房间号: "); int roomId = scanner.nextInt(); scanner.nextLine(); System.out.print("请输入房间类型: "); String type = scanner.nextLine(); System.out.print("请输入每晚价格: "); double price = scanner.nextDouble(); scanner.nextLine(); roomService.addRoom(new Room(roomId, type, price)); System.out.println("房间添加成功!"); } private static void showAllBookings() { System.out.println("\n=== 所有预订信息 ==="); for (Booking booking : bookingService.getAllBookings()) { System.out.println("预订号: " + booking.getBookingId() + ", 房间号: " + booking.getRoom().getRoomId() + ", 客人姓名: " + booking.getPerson().getName() + ", 入住日期: " + booking.getCheckInDate() + ", 离店日期: " + booking.getCheckOutDate() + ", 总费用: " + booking.getTotalCost()); } } private static void addNewBooking(Scanner scanner) { System.out.print("请输入客人姓名: "); String name = scanner.nextLine(); System.out.print("请输入身份证号: "); String id = scanner.nextLine(); System.out.print("请输入电话号码: "); String phone = scanner.nextLine(); Person person = new Person(name, id, phone); System.out.print("请输入房间号: "); int roomId = scanner.nextInt(); scanner.nextLine(); Room room = roomService.findRoomById(roomId); if (room == null || !room.isAvailable()) { System.out.println("该房间不可用或不存在!"); return; } System.out.print("请输入入住日期 (YYYY-MM-DD): "); LocalDate checkIn = LocalDate.parse(scanner.nextLine()); System.out.print("请输入离店日期 (YYYY-MM-DD): "); LocalDate checkOut = LocalDate.parse(scanner.nextLine()); Booking booking = new Booking(bookingService.getAllBookings().size() + 1, room, person, checkIn, checkOut); bookingService.addBooking(booking); roomService.updateRoomAvailability(roomId, false); System.out.println("预订成功!总费用为: " + booking.getTotalCost()); } private static void cancelBooking(Scanner scanner) { System.out.print("请输入要取消的预订号: "); int bookingId = scanner.nextInt(); scanner.nextLine(); Booking booking = bookingService.findBookingById(bookingId); if (booking == null) { System.out.println("未找到该预订记录!"); return; } bookingService.cancelBooking(bookingId); roomService.updateRoomAvailability(booking.getRoom().getRoomId(), true); System.out.println("预订已取消!"); } }
六、运行与测试
- 在 Eclipse 中右键
MainUI.java→ Run As → Java Application - 按照提示操作,进行房间管理、人员管理和预订管理。
- 可以通过修改代码添加更多功能,例如:
- 数据持久化(保存到文件)
- 更复杂的查询功能
- 增加管理员登录验证
七、毕业设计建议
1. 项目结构清晰
- 包含 Model、Service、UI 层
- 采用面向对象的设计思想
2. 文档说明
- 编写《需求分析》《系统设计》《数据库设计》《测试报告》
- 附上源代码和运行截图
3. 扩展性建议
- 可以使用 JDBC 连接 MySQL 数据库实现数据持久化
- 使用 Swing 或 JavaFX 实现图形界面
- 添加日志记录功能
八、总结
| 步骤 | 内容 | |------|------| | 1 | 安装 Java 11 和 Eclipse 2019 | | 2 | 创建 Java 项目及包结构 | | 3 | 设计房间、人员、预订等模型类 | | 4 | 实现房间管理、预订管理的服务类 | | 5 | 开发控制台 UI 界面,实现交互功能 | | 6 | 测试系统,确保功能完整 |
如果你需要我帮你生成完整的项目结构、打包成
.zip文件,或者提供更详细的毕业设计文档模板,也可以告诉我,我可以进一步帮助你!本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报