初学者-自助饮品消费系统

自助饮品消费系统-Java代码实现

需求分析

代码实现:

package com.zxf;

//父类:饮料类

public class Beverages {
    private String size;
    private int num;
    private String note;
    private String ice;
    private String name;

    public int getPrice() {
        return price;
    }

    public void setPrice(int price) {
        this.price = price;
    }

    private int price;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getNum() {
        return num;
    }
    public void setNum(int num) {
        this.num = num;
    }

    public String getNote() {
        return note;
    }
    public void setNote(String note) {
        this.note = note;
    }

    public String getIce() {
        return ice;
    }
    public void setIce(String ice) {
        this.ice = ice;
    }

    public String getSize() {
        return size;
    }
    public void setSize(String size) {
        this.size = size;
    }

    public void showInfo() {
    }

    public void showInfo2() {
    }

    public void money(int i) {
    }
}
package com.zxf;

//可乐类

public class Coke extends Beverages {
    public static final String name = "可乐";
    private static final int price_mid = 5;
    private static final int price_big = 7;
    private static final int price_extraBig = 9;



    public void showInfo() {
        // TODO Auto-generated method stub
        System.out.println("请录入你需要的可乐的信息(备注可口可乐还是百事可乐,是否加冰):");
        }

    public void money(int i) {
        switch (i) {
            case 1:
                setPrice(price_extraBig);
                break;

            case 2:
                setPrice(price_big);
                break;

            default:
                setPrice(price_mid);
                break;
        }

    }


    public void showInfo2() {
        System.out.println("订单消息:您购买了"+name+":"+getNote()+",购买的"+getSize()+",购买数量"+getNum()+"杯,价钱:"+getPrice()+"*"+getNum()+"="+getPrice()*getNum());
    }




}
package com.zxf;

//咖啡类

public class Coffee extends Beverages {
    public static final String name = "咖啡";
    private static final int price_mid = 11;
    private static final int price_big = 15;
    private static final int price_extraBig = 20;


    public static int getPrice_mid() {
        return price_mid;
    }

    public static int getPrice_big() {
        return price_big;
    }

    public static int getPrice_extraBig() {
        return price_extraBig;
    }

    @Override
    public void showInfo() {
        // TODO Auto-generated method stub
        System.out.println("请录入你需要的咖啡的信息(备注加奶、加冰、加糖情况)");

    }



    public void money(int i) {
        switch (i) {
            case 1:
                setPrice(price_extraBig);
                break;

            case 2:
                setPrice(price_big);
                break;

            default:
                setPrice(price_mid);
                break;
        }
    }

    public void showInfo2() {
        System.out.println("订单消息:您购买了"+name+":"+getNote()+",购买的"+getSize()+",购买数量"+getNum()+"杯,价钱:"+getPrice()+"*"+getNum()+"="+getPrice()*getNum());
    }
}
package com.zxf;

//奶茶类

public class TeaMike extends Beverages {
    public static final String name = "奶茶";
    private static final int price_mid = 8;
    private static final int price_big = 12;
    private static final int price_extraBig = 15;

    @Override
    public void showInfo() {
        // TODO Auto-generated method stub
        System.out.println("请录入你需要的奶茶的信息(备注加红豆、椰果、布丁、珍珠)");

    }

    public void money(int i) {
        switch (i) {
            case 1:
                setPrice(price_extraBig);
                break;

            case 2:
                setPrice(price_big);
                break;

            default:
                setPrice(price_mid);
                break;
        }

    }

    public void showInfo2() {
        System.out.println("订单消息:您购买了"+name+":"+getNote()+",购买的"+getSize()+",购买数量"+getNum()+"杯,价钱:"+getPrice()+"*"+getNum()+"="+getPrice()*getNum());
    }

}
package com.zxf;

//饮料工厂

public class Drink {
    //提供饮料
    public static Beverages getBeverages(int i){
        Beverages beverages = null ;
        if(i==1){
            beverages = new Coke();
        }
        if(i==2){
            beverages = new Coffee();
        }
        if (i==3){
            beverages = new TeaMike();
        }

        return beverages;

    }
}
package com.zxf;

//购买系统

import java.util.Scanner;

public class Buy{
    public static void main(String[] args) {
        System.out.println("请录入你要购买的饮品:1.可乐 2.咖啡 3.奶茶");
        /*
         * 输入要购买的饮品序号
         */
        Scanner sc = new Scanner(System.in);

        Beverages beverages = Drink.getBeverages(sc.nextInt());
        beverages.showInfo();

        /*
         * 输入备注
         */
        beverages.setNote(sc.next());

        /*
         * 输入饮料大小
         */
        System.out.println("选择: 1.超大杯 2.大杯 3.中杯");
        switch (sc.nextInt()){
            case 1:
                beverages.setSize("超大杯");
                beverages.money(1);
                break;

            case 2:
                beverages.setSize("大杯");
                beverages.money(2);
                break;

            default:
                beverages.setSize("中杯");
                beverages.money(3);
                break;
        }

        /*
         * 输入购买数量
         */
        System.out.println("请输入购买数量");
        beverages.setNum(sc.nextInt());

        //输出订单消息
        beverages.showInfo2();
    }
}

总结:

我的思路是:先从购买系统入手,一步一步完善各种饮料类的方法和属性,接着提取出简单的饮料工厂

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值