利用简单工厂模式编写Java程序实现披萨制作。具体要求: 1.接收用户输入的信息,选择需要制作的披萨,可供选择的披萨有培根披萨和水果披萨。 2.程序运行结果参照如下:项目需求: 请选择您想制作的披萨:1培根2水果培根请输入培根的克数: 20 请输入披萨大小: 10 请输入披萨价格: 150 披萨名称:培根披萨披萨价格:150 披萨大小:10 培根克数:20 请选择您想制作的披萨:1培根2水果水果 请输入水果的配料:芒果,草莓,榴莲芒果,草莓请输入披萨大小: 请输入披萨价格: 100 披萨名称:水果披萨披萨价格:8 披萨大小:100 水果配料:芒果,草莓代码展示: 1.测试类:用户输入需求的披萨信息
时间: 2024-03-16 20:45:08 浏览: 158
Java面向对象小案例(控制台的购买披萨系统)
5星 · 资源好评率100%
好的,以下是利用简单工厂模式实现的Java程序,实现披萨制作的功能:
首先,我们创建一个披萨类 Pizza,其中包含了披萨的名称、价格、大小以及制作方法:
```java
public abstract class Pizza {
protected String name; // 披萨名称
protected int price; // 披萨价格
protected int size; // 披萨大小
public void make() {
System.out.println("制作" + name + "披萨");
}
public void bake() {
System.out.println("正在烘焙" + name + "披萨");
}
public void cut() {
System.out.println("正在切" + name + "披萨");
}
public void box() {
System.out.println("正在打包" + name + "披萨");
}
}
```
然后,我们创建两个具体的披萨类,分别是培根披萨和水果披萨。这两个类都继承自披萨类 Pizza,然后实现自己的制作方法:
```java
public class BaconPizza extends Pizza {
private int bacon; // 培根克数
public BaconPizza(int bacon, int size, int price) {
this.name = "培根披萨";
this.bacon = bacon;
this.size = size;
this.price = price;
}
public void make() {
System.out.println("制作" + name + ",加入" + bacon + "克培根");
}
}
public class FruitPizza extends Pizza {
private String[] fruits; // 水果配料
public FruitPizza(String[] fruits, int size, int price) {
this.name = "水果披萨";
this.fruits = fruits;
this.size = size;
this.price = price;
}
public void make() {
System.out.println("制作" + name + ",加入" + Arrays.toString(fruits));
}
}
```
最后,我们创建一个简单工厂类 PizzaFactory,根据用户的选择创建不同的披萨实例:
```java
public class PizzaFactory {
public static Pizza createPizza(int type, int bacon, String[] fruits, int size, int price) {
if (type == 1) {
// 培根披萨
return new BaconPizza(bacon, size, price);
} else if (type == 2) {
// 水果披萨
return new FruitPizza(fruits, size, price);
} else {
return null;
}
}
}
```
最后,我们编写测试类,接收用户输入的信息,选择需要制作的披萨:
```java
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("请选择您想制作的披萨:1.培根披萨 2.水果披萨");
int type = scanner.nextInt();
if (type == 1) {
// 培根披萨
System.out.println("请输入培根的克数:");
int bacon = scanner.nextInt();
System.out.println("请输入披萨大小:");
int size = scanner.nextInt();
System.out.println("请输入披萨价格:");
int price = scanner.nextInt();
Pizza pizza = PizzaFactory.createPizza(type, bacon, null, size, price);
pizza.make();
pizza.bake();
pizza.cut();
pizza.box();
System.out.println("披萨名称:" + pizza.name);
System.out.println("披萨价格:" + pizza.price);
System.out.println("披萨大小:" + pizza.size);
System.out.println("培根克数:" + bacon);
} else if (type == 2) {
// 水果披萨
System.out.println("请输入水果的配料,多个配料请用逗号隔开:");
String[] fruits = scanner.next().split(",");
System.out.println("请输入披萨大小:");
int size = scanner.nextInt();
System.out.println("请输入披萨价格:");
int price = scanner.nextInt();
Pizza pizza = PizzaFactory.createPizza(type, 0, fruits, size, price);
pizza.make();
pizza.bake();
pizza.cut();
pizza.box();
System.out.println("披萨名称:" + pizza.name);
System.out.println("披萨价格:" + pizza.price);
System.out.println("披萨大小:" + pizza.size);
System.out.println("水果配料:" + Arrays.toString(fruits));
} else {
System.out.println("无效的选项,请重新选择!");
}
}
}
}
```
这样,我们就实现了利用简单工厂模式编写Java程序实现披萨制作的功能。用户可以选择制作培根披萨或者水果披萨,并输入相应的信息,程序会根据用户的选择创建不同的披萨实例,并输出制作过程和披萨的详细信息。
阅读全文