现有可乐,雪碧,红牛三种不同饮料,需要品尝饮料的味道,请用Java语言进行设计与实现。要求:1.建立Drink抽象类,声明抽象方法tastel0),声明int常量,代表饮料类型(Kele,Xuebi, HongNiu),声明静态方法getDrink(int drinkType)根据传入参数建立不同的饮料对象,并返回该对象,当没有对应饮料类型时,抛出异常。
2.建立Kele、Xuebi, HongNiu三个子类,实现taste(方法。3.建立继承Exception的异常子类DrinkNotFoundException,当传入的参数没有相应的饮料类型时,就抛出异常,在使用getDrink ()方法的类中捕获该异常。4.建立Test测试类,编写main()方法测试。
JAVA编程可乐雪碧红牛
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注 【以下回答由 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()); } } }
希望以上解决方案能够帮助到你。如果你对具体的实现还有其他疑问,请随时提问。
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^解决 无用评论 打赏 举报
悬赏问题
- ¥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语言#的问题,请各位专家解答!