用Java如何某人想买水果,商家的优惠方式如下:芒果1斤24元,葡萄8元,香蕉3元。一次性购买满30元8折优惠。芒果1斤优惠价16元,但是优惠价和折扣不能同时使用。那么这个人要点这三样东西,最少要花多少钱?
时间: 2023-04-05 17:03:25 浏览: 132
这个人要点芒果1斤、葡萄和香蕉,芒果1斤原价24元,优惠价16元,葡萄8元,香蕉3元。如果一次性购买满30元,可以享受8折优惠。因此,如果这个人购买1斤芒果和葡萄,再购买2个香蕉,总价为24元+8元+6元=38元,可以享受8折优惠,最终需要支付38元*0.8=30.4元。如果这个人只购买1斤芒果和葡萄,不购买香蕉,则总价为24元+8元=32元,无法享受8折优惠,需要支付32元。因此,这个人最少需要花费30.4元。
相关问题
利用简单工厂模式编写Java程序实现披萨制作。具体要求: 1.接收用户输入的信息,选择需要制作的披萨,可供选择的披萨有培根披萨和水果披萨。 2.程序运行结果参照如下: 请选择想要制作的披萨:1培根披萨 2水果披萨 2.程序运行结果参照如下: 请输入培根的克数:20 请输入披萨的大小:12 请输入披萨的价格:100 名称:培根披萨 价格:100元 大小:12寸 培根克数:20克 请选择想要制作的披萨: 1培根披萨 2水果披萨 请输入想要加入的水果:芒果,草莓 请输入披萨的大小:10 请输入披萨的价格:80 名称:水果披萨 价格:80 大小:10寸 水果配料:芒果 草莓
好的,根据您的要求,我已经为您编写了一个利用简单工厂模式实现披萨制作的Java程序。以下是程序代码:
Pizza.java(披萨类)
```java
public abstract class Pizza {
protected String name; // 披萨名称
protected int size; // 披萨大小
protected double price; // 披萨价格
public Pizza(String name, int size, double price) {
this.name = name;
this.size = size;
this.price = price;
}
public void show() {
System.out.println("名称:" + name);
System.out.println("价格:" + price + "元");
System.out.println("大小:" + size + "寸");
}
public abstract void addIngredient(); // 添加配料
}
```
BaconPizza.java(培根披萨类)
```java
public class BaconPizza extends Pizza {
private int baconWeight; // 培根克数
public BaconPizza(String name, int size, double price, int baconWeight) {
super(name, size, price);
this.baconWeight = baconWeight;
}
@Override
public void show() {
super.show();
System.out.println("培根克数:" + baconWeight + "克");
}
@Override
public void addIngredient() {
System.out.println("正在添加培根...");
}
}
```
FruitPizza.java(水果披萨类)
```java
public class FruitPizza extends Pizza {
private String[] fruits; // 水果配料
public FruitPizza(String name, int size, double price, String[] fruits) {
super(name, size, price);
this.fruits = fruits;
}
@Override
public void show() {
super.show();
System.out.print("水果配料:");
for (int i = 0; i < fruits.length; i++) {
if (i != fruits.length - 1) {
System.out.print(fruits[i] + ",");
} else {
System.out.println(fruits[i]);
}
}
}
@Override
public void addIngredient() {
System.out.println("正在添加水果...");
}
}
```
PizzaFactory.java(披萨工厂类)
```java
public class PizzaFactory {
public static Pizza createPizza(int type) {
switch (type) {
case 1:
return new BaconPizza("培根披萨", 0, 0, 0);
case 2:
return new FruitPizza("水果披萨", 0, 0, null);
default:
return null;
}
}
}
```
Main.java(主程序)
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("请选择想要制作的披萨:");
System.out.println("1. 培根披萨");
System.out.println("2. 水果披萨");
int type = scanner.nextInt();
Pizza pizza = PizzaFactory.createPizza(type);
if (pizza == null) {
System.out.println("请输入正确的序号!");
continue;
}
if (type == 1) {
System.out.println("请输入培根的克数:");
int baconWeight = scanner.nextInt();
System.out.println("请输入披萨的大小:");
int size = scanner.nextInt();
System.out.println("请输入披萨的价格:");
double price = scanner.nextDouble();
pizza = new BaconPizza("培根披萨", size, price, baconWeight);
} else if (type == 2) {
System.out.println("请输入想要加入的水果(用逗号隔开):");
String[] fruits = scanner.next().split(",");
System.out.println("请输入披萨的大小:");
int size = scanner.nextInt();
System.out.println("请输入披萨的价格:");
double price = scanner.nextDouble();
pizza = new FruitPizza("水果披萨", size, price, fruits);
}
pizza.addIngredient();
pizza.show();
}
}
}
```
请注意,上述代码并不是完整的问答形式,您需要将代码复制到 Java IDE 中,然后编译运行,根据程序提示进行交互操作。
利用简单工厂模式编写Java程序实现披萨制作。具体要求: 1.接收用户输入的信息,选择需要制作的披萨,可供选择的披萨有培根披萨和水果披萨。 2.程序运行结果参照如下:项目需求: 请选择您想制作的披萨:1培根2水果培根请输入培根的克数: 20 请输入披萨大小: 10 请输入披萨价格: 150 披萨名称:培根披萨披萨价格:150 披萨大小:10 培根克数:20 请选择您想制作的披萨:1培根2水果水果 请输入水果的配料:芒果,草莓,榴莲芒果,草莓请输入披萨大小: 请输入披萨价格: 100 披萨名称:水果披萨披萨价格:8 披萨大小:100 水果配料:芒果,草莓代码展示: 1.测试类:用户输入需求的披萨信息
好的,以下是利用简单工厂模式实现的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程序实现披萨制作的功能。用户可以选择制作培根披萨或者水果披萨,并输入相应的信息,程序会根据用户的选择创建不同的披萨实例,并输出制作过程和披萨的详细信息。