若投入5角钱或1元钱的硬币,按下“橙汁”或“啤酒”按钮,则相应的饮料就送出来;若售货机没有零钱找,则显示“零钱找完”的红灯亮,这是再投入一元硬币并按下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示“零钱找完”的红灯灭,在送出饮料的同时退还5角硬币。JAVA代码
时间: 2024-11-20 09:34:55 浏览: 18
这是一个简单的模拟自动售货机的逻辑,我们可以用伪代码或Java的基本结构来描述这个过程。这里是一个简化的Java代码示例:
```java
import java.util.Scanner;
class VendingMachine {
private int money;
public void insertCoin(int coin) {
money += coin;
if (money < 1.50) {
System.out.println("请投入至少5角或1元的硬币!");
} else {
dispenseProduct();
}
}
private void dispenseProduct() {
if (money == 1.50) {
System.out.println("橙汁");
money = 0.50; // 退找回的5角
} else {
System.out.println("啤酒");
money -= 1.00; // 消耗1元
}
}
public void returnChange() {
if (money > 0.50) {
System.out.println("退回零钱:5角");
money -= 0.50;
}
}
public static void main(String[] args) {
VendingMachine vm = new VendingMachine();
Scanner scanner = new Scanner(System.in);
System.out.println("请输入硬币:");
int coinInserted = scanner.nextInt();
vm.insertCoin(coinInserted);
}
}
```
在这个代码中,`VendingMachine`类表示自动售货机,它有`insertCoin`方法用于接收用户投入的钱,`dispenseProduct`方法处理购买操作并返回零钱,如果需要的话。`returnChange`方法是在机器里没有零钱找的时候调用的。
请注意,这只是一个基础版本,实际应用中可能需要更复杂的错误处理和用户交互界面。此外,`main`方法只是演示如何使用这个类,并未涵盖所有可能的情况,比如连续操作、硬币找零等。
阅读全文