以下代码实现了一个简单的车站购票系统,具体需求如下:
- 初始化车票数量:通过控制台输入车票种类数量、车票种类名称和车票数量,将车票数量存储在一个HashMap中。
- 购票:通过控制台输入购票种类名称和购票数量,检查余票是否充足,若余票充足则将购票数量从余票中减去,否则购票失败。
- 退票:通过控制台输入退票种类名称和退票数量,将退票数量加到余票中。
- 查询余票:遍历HashMap中存储的车票数量,输出各个车票种类的余票数量。 主函数中通过循环读取用户输入,并根据输入调用相应的方法实现以上功能。 该代码实现的主要目的是演示Java中基本的Map类型的使用,以及通过控制台输入输出来实现简单的交互操作,不具备实际的商业应用价值。
Java实现车站购票功能,包含购票、退票、查询余票功能:
import java.util.HashMap; import java.util.Map; import java.util.Scanner; public class TrainTicketSystem { private Map<String, Integer> tickets; public TrainTicketSystem() { tickets = new HashMap<>(); } // 初始化车票数量 public void initTickets() { Scanner scanner = new Scanner(System.in); System.out.print("请输入车票种类数量:"); int n = scanner.nextInt(); for (int i = 0; i < n; i++) { System.out.print("请输入车票种类名称:"); String name = scanner.next(); System.out.print("请输入车票数量:"); int num = scanner.nextInt(); tickets.put(name, num); } } // 购票 public void buyTicket() { Scanner scanner = new Scanner(System.in); System.out.print("请输入购票种类名称:"); String name = scanner.next(); if (!tickets.containsKey(name)) { System.out.println("没有此种车票!"); return; } System.out.print("请输入购票数量:"); int num = scanner.nextInt(); int remain = tickets.get(name); if (num > remain) { System.out.println("余票不足,购票失败!"); } else { tickets.put(name, remain - num); System.out.println("购票成功!"); } } // 退票 public void returnTicket() { Scanner scanner = new Scanner(System.in); System.out.print("请输入退票种类名称:"); String name = scanner.next(); if (!tickets.containsKey(name)) { System.out.println("没有此种车票!"); return; } System.out.print("请输入退票数量:"); int num = scanner.nextInt(); int remain = tickets.get(name); tickets.put(name, remain + num); System.out.println("退票成功!"); } // 查询余票 public void queryTicket() { System.out.println("当前余票情况:"); for (String name : tickets.keySet()) { System.out.println(name + ": " + tickets.get(name)); } } public static void main(String[] args) { TrainTicketSystem system = new TrainTicketSystem(); system.initTickets(); Scanner scanner = new Scanner(System.in); while (true) { System.out.println("请选择操作:1-购票,2-退票,3-查询余票,0-退出"); int choice = scanner.nextInt(); switch (choice) { case 1: system.buyTicket(); break; case 2: system.returnTicket(); break; case 3: system.queryTicket(); break; case 0: return; default: System.out.println("输入有误,请重新输入!"); } } } }
以上代码实现了一个基本的车站购票系统,包括了初始化车票数量、购票、退票、查询余票等功能。用户可以通过控制台输入来进行相关操作。
评论