题目:品尝饮料 
时间:2018-1-5 
一、 要求 
1、使用命令行参数(饮料类型),输出该饮料类型的味道,如:当命令行参数为1时,结果见如下: 
 咖啡:苦
 2、如果没有该种饮料,结果见如下:
 对不起!没有您输入的饮料类型。
 
二、 推荐实现步骤
  1、建立一个Java抽象类Drink,
    应当:  a、声明一个抽象方法taste(),该方法负责输出饮料的味道;
             b、声明int型常量来代表不同的饮料类型(咖啡、啤酒、牛奶),如:
                    1:咖啡:苦,2:啤酒:清凉  3 牛奶:酸  sour
             c、声明静态根据传入的参数创建工厂方法getDrink(int drinkType),  不同的饮料对象,并返回该对象,建议使用switch语句。
2、建立Drink的具体子类: 
    a、分别建立Drink的子类:Coffee(代表咖啡),Beer(代表啤酒),Milk(代表牛奶); 
    a1、 咖啡需要磨咖啡粉冲咖啡、啤酒需要开瓶酒盖、牛奶需要冷藏
        必须要做完这些,才能品尝味道
    b、实现taste()方法,要求在控制台打印各自的味道特征。
4、建立Test测试类,测试以上内容的正确性 
    a、编写main方法,通过命令行传参的方式传入某种饮料的类型。
    b、在main方法中,调用Drink类的getDrink方法,获得相应的饮料对象。
c、然后调用该饮料对象的taste()方法,输出该饮料的味道。
 5、编译程序,并运行。
代码1:
package HomW;
class Beer extends Drink{
    public void taste(){
        System.out.println("啤酒:清凉");
    }
    public void doSome(){
        System.out.println("啤酒需要开瓶酒盖");
    }
}
package HomW;
public class Coffee extends Drink{
    //调用抽象方法taste()
    public void taste(){
        System.out.println("咖啡:苦");
    }
    public void doSome(){
        System.outnextint()方法.println("咖啡需要磨咖啡粉冲咖啡");
    }
}
package HomW;
public abstract class Drink{
    public abstract void taste();
    public static void getDrink(int drinkType){
        switch (drinkType){
        case 1:
            Coffee c=new Coffee();
            c.doSome();
            c.taste();
            break;
        case 2:
            Beer b=new Beer();
            b.doSome();
            b.taste();
            break;
        case 3:
            Milk m=new Milk();
            m.doSome();
            m.taste();
            break;
        default:System.out.println("对不起,没有该饮料");
        }
    }
}
package HomW;
class Milk extends Drink{
    public void taste(){
        System.out.println("牛奶:酸的");
    }
    public void doSome(){
        System.out.println("牛奶需要冷藏");
    }
}
package HomW;
import java.util.Scanner;
//测试类 
public class Test{
    public static void main(String[] args) {
        Drink c=new Coffee();
        Beer b=new Beer();
        Milk m=new Milk();
        c.taste();
        b.taste();
        m.taste();
        System.out.println("1:咖啡2:啤酒3:牛奶");
        Scanner input=new Scanner(System.in);
        System.out.println("请输入一个饮料编号:");
        int Int();
        c.getDrink(i);
    }
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。