平芜尽处是春山481 2023-11-01 14:44 采纳率: 0%
浏览 16

JAVA编程可乐雪碧红牛

现有可乐,雪碧,红牛三种不同饮料,需要品尝饮料的味道,请用Java语言进行设计与实现。要求:1.建立Drink抽象类,声明抽象方法tastel0),声明int常量,代表饮料类型(Kele,Xuebi, HongNiu),声明静态方法getDrink(int drinkType)根据传入参数建立不同的饮料对象,并返回该对象,当没有对应饮料类型时,抛出异常。
2.建立Kele、Xuebi, HongNiu三个子类,实现taste(方法。3.建立继承Exception的异常子类DrinkNotFoundException,当传入的参数没有相应的饮料类型时,就抛出异常,在使用getDrink ()方法的类中捕获该异常。4.建立Test测试类,编写main()方法测试。

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-11-02 00:42
    关注

    【以下回答由 GPT 生成】

    问题解决方案如下所示:

    首先,建立一个名为Drink的抽象类,并声明以下内容:

    public abstract class Drink {
        public abstract void taste();
    
        public static final int KELE = 1;
        public static final int XUEBI = 2;
        public static final int HONGNIU = 3;
    
        public static Drink getDrink(int drinkType) throws DrinkNotFoundException {
            switch (drinkType) {
                case KELE:
                    return new Kele();
                case XUEBI:
                    return new Xuebi();
                case HONGNIU:
                    return new HongNiu();
                default:
                    throw new DrinkNotFoundException("Invalid drink type");
            }
        }
    }
    

    接下来,建立三个子类Kele、Xuebi和HongNiu,分别继承自Drink抽象类,并实现taste()方法,用于表示各自饮料的具体味道:

    Kele类的代码如下:

    public class Kele extends Drink {
        @Override
        public void taste() {
            System.out.println("This is the taste of Kele");
        }
    }
    

    Xuebi类的代码如下:

    public class Xuebi extends Drink {
        @Override
        public void taste() {
            System.out.println("This is the taste of Xuebi");
        }
    }
    

    HongNiu类的代码如下:

    public class HongNiu extends Drink {
        @Override
        public void taste() {
            System.out.println("This is the taste of HongNiu");
        }
    }
    

    然后,建立一个继承自Exception的异常子类DrinkNotFoundException,用于在传入的参数没有相应的饮料类型时抛出异常。在调用getDrink()方法的类中捕获该异常。

    DrinkNotFoundException的代码如下:

    public class DrinkNotFoundException extends Exception {
        public DrinkNotFoundException(String message) {
            super(message);
        }
    }
    

    最后,建立一个Test测试类,并编写main()方法进行测试:

    public class Test {
        public static void main(String[] args) {
            try {
                Drink drink1 = Drink.getDrink(Drink.KELE);
                drink1.taste();
    
                Drink drink2 = Drink.getDrink(Drink.XUEBI);
                drink2.taste();
    
                Drink drink3 = Drink.getDrink(Drink.HONGNIU);
                drink3.taste();
    
                Drink drink4 = Drink.getDrink(4); // 不存在的饮料类型
                drink4.taste(); // 不会执行到这里
            } catch (DrinkNotFoundException e) {
                System.out.println(e.getMessage());
            }
        }
    }
    

    希望以上解决方案能够帮助到你。如果你对具体的实现还有其他疑问,请随时提问。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 11月1日

悬赏问题

  • ¥15 无法输出helloworld
  • ¥15 高通uboot 打印ubi init err 22
  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api
  • ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊
  • ¥15 振荡电路,ADS仿真
  • ¥15 关于#c语言#的问题,请各位专家解答!