java编写一个奶茶点单程序代码怎么写?

高手有没有人讲详细点的,我想讲解下,java编写一个奶茶点单程序代码怎么写?
最新回答
一只眠羊

2024-11-22 12:32:33

这是一个简单的Java程序,旨在实现奶茶点单功能。用户可以根据提示选择奶茶的口味、大小和加料,程序会计算并显示订单总价。
```java
import java.util.Scanner;
public class MilkTeaOrder {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("欢迎来到奶茶店!");
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("请输入您的选择:");
int choice = scanner.nextInt();
scanner.nextLine(); // 清除缓存区,避免换行符影响下一行的输入
if (choice == 1) {
System.out.println("请输入您喜欢的奶茶大小:");
System.out.println("1. 中杯");
System.out.println("2. 大杯");
int size = scanner.nextInt();
scanner.nextLine(); // 清除缓存区,避免换行符影响下一行的输入
if (size == 1) {
System.out.println("请选择您要加什么配料:");
System.out.println("1. 波霸(珍珠)");
System.out.println("2. 奶盖");
System.out.println("3. 椰果(果肉)");
System.out.println("4. 草莓(果冻)");
System.out.println("请输入您的选择:");
int addOn = scanner.nextInt();
scanner.nextLine(); // 清除缓存区,避免换行符影响下一行的输入
double price = getPrice(choice, size, addOn); // 根据口味、大小和加料计算总价
System.out.println("您的订单总价为:" + price);
} else if (size == 2) {
double price = getPrice(choice, size, null); // 根据口味、大小和加料计算总价
System.out.println("您的订单总价为:" + price);
} else {
System.out.println("请输入正确的尺寸!");
}
} else if (choice == 2) {
double price = getPrice(choice, null, null); // 根据口味和加料计算总价
System.out.println("您的订单总价为:" + price);
} else if (choice == 3) {
double price = getPrice(null, null, null); // 不加任何配料时计算总价
System.out.println("您的订单总价为:" + price);
} else if (choice == 4 || choice == 5) {
double price = getPrice(null, null, "奶盖"); // 加入奶盖时计算总价
System.out.println("您的订单总价为:" + price);
}
scanner.close();
}
private static double getPrice(Integer taste, Integer size, Integer addOn) {
// 口味、大小和加料对应的价格表在此处定义
// 例如:Map<Integer, Map<Integer, Map>> priceMap = new HashMap>();
// ...
// 此处为价格计算逻辑
// ...
return 0.0; // 返回计算后的总价
}
}
```