java实现车站购票功能,包含购票,退票,查询余票功能

以下代码实现了一个简单的车站购票系统,具体需求如下:

  1. 初始化车票数量:通过控制台输入车票种类数量、车票种类名称和车票数量,将车票数量存储在一个HashMap中。
  2. 购票:通过控制台输入购票种类名称和购票数量,检查余票是否充足,若余票充足则将购票数量从余票中减去,否则购票失败。
  3. 退票:通过控制台输入退票种类名称和退票数量,将退票数量加到余票中。
  4. 查询余票:遍历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("输入有误,请重新输入!");
            }
        }
    }
}

以上代码实现了一个基本的车站购票系统,包括了初始化车票数量、购票、退票、查询余票等功能。用户可以通过控制台输入来进行相关操作。