有一个处理单价为 1 元 5 角的盒装饮料的自动售货机软件。若投入 1 元 5 角硬币,按下 “可乐”、“雪碧”、“红茶” 按钮,相应的饮料就会送出来,若投入的是 2 元硬币,在送出饮料的同时还退换 5 角硬币。 用java实现
时间: 2023-11-16 14:17:35 浏览: 122
好的,以下是一个简单的Java程序实现自动售货机的功能:
```java
import java.util.Scanner;
public class VendingMachine {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int price = 15; // 单价为1元5角,即15分
int balance = 0; // 初始余额为0
while (true) {
System.out.println("请选择您要购买的饮料类型:");
System.out.println("1. 可乐");
System.out.println("2. 雪碧");
System.out.println("3. 红茶");
int choice = input.nextInt();
if (choice >= 1 && choice <= 3) {
if (balance >= price) {
System.out.println("您购买的饮料是:" + getDrinkName(choice));
balance -= price;
if (balance > 0) {
System.out.println("找您" + balance + "分");
balance = 0;
}
} else {
System.out.println("余额不足,请投入硬币:");
int coin = input.nextInt();
if (coin == 15 || coin == 25) {
balance += coin;
} else {
System.out.println("只接受1元5角和2元硬币,请重新投币:");
}
}
} else {
System.out.println("选择无效,请重新选择:");
}
}
}
private static String getDrinkName(int choice) {
switch (choice) {
case 1:
return "可乐";
case 2:
return "雪碧";
case 3:
return "红茶";
default:
return "";
}
}
}
```
程序中使用了一个无限循环,不断让用户选择购买的饮料类型,然后判断用户的余额是否足够购买,如果足够则扣除余额并输出购买信息,如果不足则让用户投币,只接受1元5角和2元硬币,不接受其他硬币或纸币。如果用户投入的是2元硬币,则在送出饮料的同时还会退换5角硬币。
阅读全文