利用简单工厂模式编写Java程序实现汉堡制作。具体要求:1.接受用户输入的信息,选择需要制作的汉堡,可供选择的汉堡有香辣鸡腿堡、奥尔良烤堡。2.程序运行结果参照如下内容:1)请选择您需要制作的汉堡:1.鸡腿堡 2.奥尔良烤堡 2)您选择的是鸡腿堡,请备注您需要的口味:1.香辣 2.原味 3)请选择需要加入的配菜:1.生菜2.白菜 4)请选择免费的饮品:1.可乐 2.橙汁 客官,您的订单: 汉堡:香辣鸡腿堡 添加的配菜:白菜 选送的饮品:可乐 1)请选择您需要制作的汉堡:1.鸡腿堡 2.奥尔良烤堡 2)您选择的是奥尔良烤堡,请备注您是否需要加奶酪:1.是2.否 3)请选择需要加入的配菜:1.生菜 2.白菜 4)请选择免费的饮品:1.可乐 2.橙汁 客官,您的订单: 汉堡:奥尔良烤堡 添加的配菜:生菜 选送的饮品:橙汁
时间: 2024-04-06 13:28:21 浏览: 127
首先,我们需要定义一个汉堡的抽象类Burger和两个具体的汉堡类SpicyChickenBurger和OrleansRoastBurger,代码如下:
```java
// 汉堡抽象类
public abstract class Burger {
protected String name;
public String getName() {
return name;
}
// 制作汉堡的方法
public void prepare() {
System.out.println("正在制作" + name);
}
}
// 香辣鸡腿堡
public class SpicyChickenBurger extends Burger {
public SpicyChickenBurger() {
name = "香辣鸡腿堡";
}
}
// 奥尔良烤堡
public class OrleansRoastBurger extends Burger {
public OrleansRoastBurger() {
name = "奥尔良烤堡";
}
}
```
然后,我们需要定义一个简单工厂类BurgerFactory,用于根据用户的选择创建具体的汉堡对象。代码如下:
```java
public class BurgerFactory {
// 静态方法,根据用户的选择创建具体的汉堡对象
public static Burger createBurger(int type) {
switch (type) {
case 1:
return new SpicyChickenBurger();
case 2:
return new OrleansRoastBurger();
default:
return null;
}
}
}
```
最后,我们需要编写主程序,根据用户的输入创建具体的汉堡对象,并进行制作和配菜等操作。代码如下:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请选择您需要制作的汉堡:1.鸡腿堡 2.奥尔良烤堡");
int burgerType = scanner.nextInt();
Burger burger = BurgerFactory.createBurger(burgerType);
if (burger == null) {
System.out.println("您的选择有误");
return;
}
// 香辣鸡腿堡需要选择口味,奥尔良烤堡需要选择是否添加奶酪
if (burger instanceof SpicyChickenBurger) {
System.out.println("您选择的是鸡腿堡,请备注您需要的口味:1.香辣 2.原味");
int taste = scanner.nextInt();
if (taste == 1) {
System.out.println("您选择的口味是:香辣");
} else if (taste == 2) {
System.out.println("您选择的口味是:原味");
} else {
System.out.println("口味选择有误");
return;
}
} else if (burger instanceof OrleansRoastBurger) {
System.out.println("您选择的是奥尔良烤堡,请备注您是否需要加奶酪:1.是 2.否");
int cheese = scanner.nextInt();
if (cheese == 1) {
System.out.println("您选择了加奶酪");
} else if (cheese == 2) {
System.out.println("您选择了不加奶酪");
} else {
System.out.println("选择有误");
return;
}
}
System.out.println("请选择需要加入的配菜:1.生菜 2.白菜");
int vegetables = scanner.nextInt();
if (vegetables == 1) {
System.out.println("您选择了添加生菜");
} else if (vegetables == 2) {
System.out.println("您选择了添加白菜");
} else {
System.out.println("选择有误");
return;
}
System.out.println("请选择免费的饮品:1.可乐 2.橙汁");
int drink = scanner.nextInt();
if (drink == 1) {
System.out.println("您选择了可乐");
} else if (drink == 2) {
System.out.println("您选择了橙汁");
} else {
System.out.println("选择有误");
return;
}
System.out.println("客官,您的订单:");
System.out.println("汉堡:" + burger.getName());
System.out.println("添加的配菜:" + (vegetables == 1 ? "生菜" : "白菜"));
System.out.println("选送的饮品:" + (drink == 1 ? "可乐" : "橙汁"));
}
}
```
这样,我们就实现了一个简单的汉堡制作程序,可以根据用户的选择制作不同的汉堡,并添加配菜和饮品。
阅读全文