用java创建一个自动贩卖机,能够添加饮料,打印欢迎词, 列出饮料信息,付钱挑饮料,显示购买后找的钱,显示贩卖机余额
时间: 2023-05-23 18:06:15 浏览: 60
A:
以下是Java贩卖机的示例代码:
```java
import java.util.Scanner;
public class VendingMachine {
private static double balance = 0; // 初始余额为0
private static int waterCount = 0; // 初始饮料数量为0
private static int cokeCount = 0;
private static double waterPrice = 2.0; // 饮料价格
private static double cokePrice = 2.5;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("=====欢迎使用自动贩卖机=====");
boolean flag = true;
while (flag) {
System.out.println("请选择一个操作:");
System.out.println("1.添加饮料");
System.out.println("2.列出饮料信息");
System.out.println("3.付钱选择饮料");
System.out.println("4.显示购买后找的钱");
System.out.println("5.显示贩卖机余额");
System.out.println("0.退出");
int choice = scanner.nextInt();
switch (choice) {
case 1:
addDrink();
break;
case 2:
listDrinks();
break;
case 3:
buyDrink();
break;
case 4:
change();
break;
case 5:
System.out.println("贩卖机余额:" + balance + "元");
break;
case 0:
flag = false;
System.out.println("欢迎下次光临!");
break;
default:
System.out.println("输入有误,请重新选择!");
break;
}
}
}
// 添加饮料
public static void addDrink() {
Scanner scanner = new Scanner(System.in);
System.out.println("请选择要添加的饮料:");
System.out.println("1.矿泉水(2元/瓶)");
System.out.println("2.可乐(2.5元/瓶)");
int choice = scanner.nextInt();
switch (choice) {
case 1:
System.out.println("请输入要添加的矿泉水数量:");
int water = scanner.nextInt();
waterCount += water;
System.out.println("成功添加" + water + "瓶矿泉水!");
break;
case 2:
System.out.println("请输入要添加的可乐数量:");
int coke = scanner.nextInt();
cokeCount += coke;
System.out.println("成功添加" + coke + "瓶可乐!");
break;
default:
System.out.println("输入有误,请重新选择!");
break;
}
}
// 列出饮料信息
public static void listDrinks() {
System.out.println("当前矿泉水数量:" + waterCount + "瓶");
System.out.println("当前可乐数量:" + cokeCount + "瓶");
}
// 付钱选择饮料
public static void buyDrink() {
Scanner scanner = new Scanner(System.in);
System.out.println("请选择要购买的饮料:");
System.out.println("1.矿泉水(2元/瓶)");
System.out.println("2.可乐(2.5元/瓶)");
int choice = scanner.nextInt();
switch (choice) {
case 1:
if (waterCount == 0) {
System.out.println("矿泉水已售完,请选择其他饮料!");
} else {
System.out.println("请投入" + waterPrice + "元:");
double money = scanner.nextDouble();
if (money >= waterPrice) {
balance += waterPrice;
waterCount--;
double change = money - waterPrice;
System.out.println("购买成功,找零" + change + "元!");
} else {
System.out.println("投入的金额不足!");
}
}
break;
case 2:
if (cokeCount == 0) {
System.out.println("可乐已售完,请选择其他饮料!");
} else {
System.out.println("请投入" + cokePrice + "元:");
double money = scanner.nextDouble();
if (money >= cokePrice) {
balance += cokePrice;
cokeCount--;
double change = money - cokePrice;
System.out.println("购买成功,找零" + change + "元!");
} else {
System.out.println("投入的金额不足!");
}
}
break;
default:
System.out.println("输入有误,请重新选择!");
break;
}
}
// 显示购买后找的钱
public static void change() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入投入的金额:");
double money = scanner.nextDouble();
if (money < balance) {
System.out.println("投入的金额不足!");
} else {
double change = money - balance;
System.out.println("找零:" + change + "元");
balance = 0;
}
}
}
```
主要实现了自动贩卖机的四个功能:
- 添加饮料:可以选择添加矿泉水或可乐,输入数量后会更新相应饮料的数量。
- 列出饮料信息:显示当前矿泉水和可乐的数量。
- 付钱选择饮料:可以选择购买矿泉水或可乐,输入金额后会更新投入的金额和相应饮料的数量,并计算找零。
- 显示购买后找的钱:输入投入的金额后会计算找零,并清空贩卖机余额。
注意:这只是一个简单的示例代码,实际应用中还需要考虑更多情况,例如投入的金额如何处理、各饮料的价格和数量如何调整等等。