Java代码:有自动售货机若投入1.5元硬币,按“可乐”“雪碧”或“红茶”按钮,送出相应的饮料;若投入的是2元硬币,在送出饮料的同时退出5角硬币。如果没有零钱则退还2元钱,且给出红灯警示。
时间: 2024-05-04 22:17:25 浏览: 33
C++课程设计《自助售货机》
以下是Java代码实现:
```java
import java.util.Scanner;
public class VendingMachine {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double money = 0.0;
while (true) {
System.out.println("请输入您投入的硬币(1.5元或2元):");
double coin = scanner.nextDouble();
if (coin != 1.5 && coin != 2.0) {
System.out.println("只能投入1.5元或2元硬币,请重新投入!");
continue;
}
money += coin;
if (money < 1.5) {
System.out.println("投入金额不足1.5元,请继续投币!");
} else {
System.out.println("请选择您要购买的饮料:1.可乐 2.雪碧 3.红茶");
int choice = scanner.nextInt();
if (choice < 1 || choice > 3) {
System.out.println("输入有误,请重新选择!");
continue;
}
String drink = "";
switch (choice) {
case 1:
drink = "可乐";
break;
case 2:
drink = "雪碧";
break;
case 3:
drink = "红茶";
break;
}
if (money < 2.0) {
System.out.println("投入金额不足2元,无法购买饮料,退还" + money + "元!");
break;
} else {
System.out.println("购买成功,您获得了一瓶" + drink + ",找零0.5元!");
money -= 2.0;
}
}
}
System.out.println("红灯警示!");
}
}
```
代码思路:
1. 创建 Scanner 对象,用于读取用户输入的硬币;
2. 使用 while 循环,不断读取用户输入的硬币,并判断是否为合法的 1.5 元或 2 元硬币;
3. 如果硬币不合法,提示用户重新投币;
4. 如果硬币合法,将其加到投入金额 money 中;
5. 如果投入金额不足 1.5 元,提示用户继续投币;
6. 如果投入金额达到 1.5 元及以上,提示用户选择饮料;
7. 如果用户选择的饮料不合法,提示用户重新选择;
8. 如果用户选择的饮料合法,根据投入金额判断是否能够购买饮料;
9. 如果投入金额不足 2 元,退还所有金额并结束程序;
10. 如果投入金额达到 2 元及以上,购买成功,找零 0.5 元;
11. 如果程序结束,输出红灯警示。
阅读全文