java程序 模拟肯德基卖餐问题。有炸鸡腿,汉堡,可乐,薯条,可以单个卖,也可以超值套餐(炸鸡腿,汉堡,可乐各一份),顾客排队买餐(可以买炸鸡腿,汉堡,可乐,薯条,套餐)。
时间: 2023-06-15 08:07:11 浏览: 142
基于java的点餐系统
好的,这是一个比较简单的模拟肯德基卖餐问题的 Java 程序。首先我们需要定义商品的类:
```java
public class Item {
private String name;
private double price;
public Item(String name, double price) {
this.name = name;
this.price = price;
}
public String getName() {
return name;
}
public double getPrice() {
return price;
}
}
```
然后我们可以定义每个商品的对象:
```java
Item chicken = new Item("炸鸡腿", 10.0);
Item hamburger = new Item("汉堡", 8.0);
Item coke = new Item("可乐", 5.0);
Item fries = new Item("薯条", 6.0);
Item meal = new Item("超值套餐", 25.0);
```
接下来,我们需要定义一个顾客类,用于记录顾客的购买信息:
```java
public class Customer {
private List<Item> items = new ArrayList<>();
public void buy(Item item) {
items.add(item);
}
public List<Item> getItems() {
return items;
}
}
```
然后,我们可以定义一个菜单类,用于展示所有的商品:
```java
public class Menu {
private List<Item> items = new ArrayList<>();
public Menu() {
items.add(chicken);
items.add(hamburger);
items.add(coke);
items.add(fries);
items.add(meal);
}
public List<Item> getItems() {
return items;
}
}
```
最后,我们可以写一个主程序,模拟顾客购买的过程:
```java
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Menu menu = new Menu();
Customer customer = new Customer();
while (true) {
System.out.println("请选择要购买的商品:");
List<Item> items = menu.getItems();
for (int i = 0; i < items.size(); i++) {
Item item = items.get(i);
System.out.printf("%d. %s(%.1f元)\n", i + 1, item.getName(), item.getPrice());
}
System.out.println("请输入商品编号(输入 0 结束购买):");
int choice = scanner.nextInt();
if (choice == 0) {
break;
}
Item item = items.get(choice - 1);
customer.buy(item);
}
System.out.println("您购买的商品有:");
List<Item> items = customer.getItems();
double totalPrice = 0.0;
for (int i = 0; i < items.size(); i++) {
Item item = items.get(i);
System.out.printf("%d. %s(%.1f元)\n", i + 1, item.getName(), item.getPrice());
totalPrice += item.getPrice();
}
if (items.contains(meal)) {
System.out.println("您购买了超值套餐,获得 5 元优惠!");
totalPrice -= 5.0;
}
System.out.printf("总计:%.1f元\n", totalPrice);
}
```
这个程序可以让用户选择要购买的商品,每次选择一个商品之后会加入到顾客的购买列表中。输入 0 结束购买,程序会展示用户购买的商品列表以及总价。如果用户购买了超值套餐,会获得 5 元优惠。
阅读全文