设计 Java 中的自动售货机

10 Sept 2024 | 4 分钟阅读

自动售货机已成为我们日常生活不可或缺的一部分,提供了一种便捷的方式来获取各种零食和饮料。在其看似简单的功能背后,存在着复杂的软件设计,以确保顺畅的用户交互和库存管理。在本节中,我们将逐步介绍使用 Java 设计基本自动售货机的过程,涵盖其中的关键组件和步骤。

理解需求

在深入代码之前,了解我们自动售货机的需求至关重要。在本节中,我们将创建一个具有以下功能的自动售货机:

  1. 显示可用产品的列表。
  2. 允许用户选择产品。
  3. 接受硬币作为付款(25 美分、10 美分和 5 美分)。
  4. 计算插入的总金额。
  5. 在必要时发放选定的产品并退还找零。
  6. 管理产品库存。
  7. 设置项目

让我们开始创建一个新的 Java 项目。您可以使用任何喜欢的集成开发环境 (IDE) 或简单的文本编辑器和命令行。我们将把我们的项目命名为“VendingMachine”。

构建 VendingMachine 类

我们的自动售货机的核心将是 VendingMachine 类,它将包含处理各种操作的方法。这是一个简化的类版本:

在此类中,我们维护一个 balance 来跟踪用户插入的金额,以及一个 Map 来存储产品信息(名称和价格)。addProduct()、insertCoin()、getBalance()、displayProducts()、selectProduct() 和 dispenseProduct() 方法处理各种自动售货机操作。

自动售货机实现

现在我们有了 VendingMachine 类,我们可以创建一个 Main 类来与自动售货机进行交互。这是一个简单的例子:

Main 类设置了我们的自动售货机,添加了产品,并通过命令行允许用户与之交互。

测试自动售货机

编译并运行 Main 类,我们就应该有一个简单的自动售货机应用程序正在运行。用户可以投入硬币,选择产品,并收到他们的商品以及找零。

文件名:VendingMachine.java

输出

Welcome to the Vending Machine!
Current balance: $0.0
Soda: $1.5
Chips: $1.0
Select a product (type 'exit' to quit): Soda
Dispensing Soda
Welcome to the Vending Machine!
Current balance: $0.0
Chips: $1.0
Select a product (type 'exit' to quit): Chips
Please insert more coins.
Welcome to the Vending Machine!
Current balance: $0.0
Chips: $1.0
Select a product (type 'exit' to quit): Water
Invalid product selection.
Welcome to the Vending Machine!
Current balance: $0.0
Chips: $1.0
Select a product (type 'exit' to quit): exit
Thank you for using the Vending Machine!

在此示例中,我们可以看到自动售货机的功能,包括显示可用产品、接受用户输入、发放产品以及处理余额和无效选择。

结论

本节为使用 Java 构建自动售货机奠定了基本基础。我们可以通过添加用户身份验证、更多产品选项以及补货功能来扩展此设计。通过一些创造力和 Java 专业知识,可能性是无限的。