编写程序实现软料购买

        编写程序,接收用户输入的信息,选择购买的饮料。可供选择的饮料有:咖啡、矿泉水和可乐。其中,购买咖啡时可以选择:加糖、加奶还是什么都不加。购买可乐时可以选择:买可口可乐还是百事可乐。

分析:

        创建Drink总类来让咖啡,可乐,矿泉水来继承。

        咖啡有额外的加糖选择,可乐有两种选择,这些可以在制作Drink中使用if 判断后里面加上switch方法来进行执行。

      Drink类

                定义私有成员name 和 volume,并使用show()方法来对成员变量进行输出。

package SellingMachines;
/*
            编写程序实现软料购买:编写程序,接收用户输入的信息,选择购买的饮料。
            可供选择的饮料有:咖啡、矿泉水和可乐。
            其中,购买咖啡时可以选择:加糖、加奶还是什么都不加。
            购买可乐时可以选择:买可口可乐还是百事可乐。
*/

public class Drink {
    private String name;
    private int volume;
    public Drink() {
        super();
    }
    public Drink(String name, int volume) {
        super();
        this.name = name;
        this.volume = volume;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getVolume() {
        return volume;
    }
    public void setVolume(int volume) {
        this.volume = volume;
    }
    public void show(){
        System.out.println("您购买的饮料信息如下:");
        System.out.println("名称:"+name);
        System.out.println("容量:"+volume);
    }
}

Coffee类

                因为咖啡类有额外的配料选项,所以需要创建一个新的mixture属性,来记录所需要的添加的配料

package SellingMachines;

public class Coffee extends Drink{
    private String mixture;//添加物
    public Coffee() {
        super();
    }
    public Coffee(String name,int volume, String mixture) {
        super(name,volume);
        this.mixture = mixture;
    }
    public String getMixture() {
        return mixture;
    }
    public void setMixture(String mixture) {
        this.mixture = mixture;
    }
    public void show(){
        System.out.println("您购买的饮料信息如下:");
        System.out.println("名称:"+super.getName());
        System.out.println("添加配料:"+this.getMixture());
        System.out.println("容量:"+super.getVolume());
    }
}

Coco类

package SellingMachines;
//可乐
public class Coco extends Drink {
    public Coco(){};
    public Coco(String name, int volume){
        super(name,volume);
    }

    @Override
    public void show() {
        System.out.println("你购买的饮料信息如下");
        System.out.println("姓名:"+ getName());
        System.out.println("容量:"+ getVolume());
    }

}

 Water类

package SellingMachines;

public class Water extends Drink{
    public Water(){};
    public Water(String name,int volume){
        super(name,volume);
    }
    public void show(){
        System.out.println("您购买的饮料信息如下:");
        System.out.println("名称:"+super.getName());
        System.out.println("容量:"+super.getVolume());
    }
}

 DrinkFactory类

                前面说过,因为咖啡和可乐多了一些选择,所以在这里使用If和switch来进行判断。

package SellingMachines;

import java.util.Scanner;

public class DrinkFactory {
    public static Drink getDrink(String no) {
        Scanner input = new Scanner(System.in);
        Drink drink = null;
        String name;
        if ("1".equals(no)) {
            System.out.println("请输入购买容量:");
            int volume = input.nextInt();
            System.out.println("请问是否要配料(1、加糖 2、加奶 3、什么也不加)");
            int choice = input.nextInt();
            String mixture;
            switch (choice) {
                case 1:
                    mixture = "加糖";
                    break;
                case 2:
                    mixture = "加奶";
                    break;
                default:
                    mixture = "什么一个不加";
            }
            drink = new Coffee("咖啡", volume, mixture);
        } else if ("2".equals(no)) {
            System.out.println("请输入购买容量:");
            int volume = input.nextInt();
            System.out.println("请输入你需要购买的可乐:1.百事可乐 2.可口可乐");
            int choose = input.nextInt();
            switch (choose){
                case  1:
                    drink = new Coco("百事可乐",volume);
                    break;
                case  2:
                    drink = new Coco("可口可乐",volume);
                   break;
            }

        } else if ("3".equals(no)) {
            System.out.println("请输入购买容量:");
            int volume = input.nextInt();
            drink = new Water("矿泉水",volume);
        }
        return drink;
    }
}

 Test类

llingMachines;

import java.util.Scanner;

    public class TestDrink {
        public static void main(String[] args) {
            Scanner input = new Scanner(System.in);
            System.out.println("请选择饮料(1.咖啡  2 可乐  3 矿泉水):");
            String choice = input.next();
            Drink drink = DrinkFactory.getDrink(choice);
            drink.show();
        }
    }

 

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值