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

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

首先定义一个饮料类,作为父类,然后分别定义咖啡,矿泉水,可乐类作为子类,重写父类的展示方法,让后在测试类进行测试运行,为了避免测试类的代码臃肿,我选择将不同饮料的展示方法写在各自的类的zhanshi()方法里面,测试类只要简单的执行Switch语句即可完成实现。

饮料类(父类)如下:

public abstract class Drink {
    public String name;
    public String peiLIao;
    public int rongLiang;

    public Drink(String name, String peiLIao, int rongLiang) {
        this.name = name;
        this.peiLIao = peiLIao;
        this.rongLiang = rongLiang;
    }

    public Drink() {
    }
    public abstract void zhanShi();

    public abstract void show();
}

咖啡类:

import java.util.Scanner;

public class Coffee extends Drink{

    public Coffee(String name, String peiLIao, int rongLiang) {
        super(name, peiLIao, rongLiang);
    }

    public Coffee() {
    }

    @Override
    public void show(){
        System.out.println("名称:"+name);
        System.out.println("添加配料:"+peiLIao);
        System.out.println("容量:"+rongLiang);
    }
    @Override
    public void zhanShi(){
        String na="咖啡";
        String pei="";
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入购买让容量:");
        int r= scanner.nextInt();
        System.out.println("请问是否要配料:(1、加糖 2、加奶 3、什么都不加)");
        int p= scanner.nextInt();
        if(p==1){
             pei="加糖";
        } else if (p==2) {
            pei="加奶";

        } else if (p==3) {
            pei="什么都不加";
        }else {
            System.out.println("输入有误,默认为什么都不加");
            pei="什么都不加";
        }
        System.out.println("您购买的饮料信息如下。");
         new Coffee(na,pei,r).show();

    }
}

矿泉水类:

import java.util.Scanner;

public class MineralWater extends Drink{

    public MineralWater(String name, int rongLiang) {
        this.name=name;
        this.rongLiang=rongLiang;
    }

    public MineralWater() {
    }

    @Override
    public void zhanShi() {
        String na="矿泉水";
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入购买让容量:");
        int r= scanner.nextInt();
        System.out.println("您购买的饮料信息如下。");
        new MineralWater(na,r).show();



    }

    @Override
    public void show() {
            System.out.println("名称:"+name);
            System.out.println("容量:"+rongLiang);
    }
}

可乐类:

import java.util.Scanner;

public class Coke extends Drink{

    public Coke(String name,  int rongLiang) {
       this.name=name;
       this.rongLiang=rongLiang;
    }

    public Coke() {
    }
    @Override
    public void show(){
        System.out.println("名称:"+name);
        System.out.println("容量:"+rongLiang);
    }

    @Override
    public void zhanShi() {
        String pei="";
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入购买让容量:");
        int r= scanner.nextInt();
        System.out.println("请选择可乐种类:(1、可口可乐 2、百事可乐)");
        int p= scanner.nextInt();
        if(p==1){
            pei="可口可乐";
        } else if (p==2) {
            pei="百事可乐";
        } else {
            System.out.println("输入有误,默认选最好喝的可口可乐");
            pei="可口可乐";
        }
        System.out.println("您购买的饮料信息如下。");
        new Coke(pei,r).show();

    }
}

测试类:

import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请选择饮料(1、咖啡 2、矿泉水、3、可乐):");
        int a= scanner.nextInt();
        switch (a){
            case 1:
                Drink d1=new Coffee();
                d1.zhanShi();
                break;
            case 2:
                Drink d2=new MineralWater();
                d2.zhanShi();
                break;
            case 3:
                Drink d3=new Coke();
                d3.zhanShi();
                break;
            default:
                System.out.println("输入错误,请重新输入");
                break;
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我的K8409

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值