自动饮料售卖机控制台程序

  • 1. 首先,定义一个饮料抽象类```Drink.java```
  • 2. 定义一个咖啡类```Coffee.java```,继承饮料类
  • 3. 再定义一个可乐类```Cola.java```,继承饮料类
  • 4. 再定义一个矿泉水类```Water.java```,继承饮料类
  • 6. 最后定义测试类
  • 功能简介:

    • 接收用户输入的信息,选择购买的饮料。
    • 可供选择的饮料有:咖啡、矿泉水和可乐。
    • 其中,购买咖啡时可以选择:容量,然后再选择加糖、加奶还是什么都不加。
    • 购买可乐时可以选择:买可口可乐还是百事可乐。
    • 购买矿泉水可以选择:容量
  • 实现效果:

1. 首先,定义一个饮料抽象类Drink.java

package com.feonix;import java.util.Scanner;public abstract class Drink {// 饮料名称private String name;// 饮料容量private int volume;/*** 获取饮料名称* * @return*/public String getName() {return name;}/*** 设置饮料名称* * @param name*/public void setName(String name) {this.name = name;}/*** 获取饮料容量* * @return*/public int getVolume() {return volume;}/*** 设置饮料容量* * @param volume*/public void setVolume(int volume) {this.volume = volume;}/*** 购买饮料的抽象方法* * @param key*/public abstract void buy(Scanner key);
}

2. 定义一个咖啡类Coffee.java,继承饮料类

package com.feonix;import java.util.Scanner;public class Coffee extends Drink {// 配料列表private static final String[] MIXS = {"", "加糖", "加奶", "什么都不加"};// 配料private String mix;@Overridepublic void buy(Scanner key) {// 设置饮料名字为 咖啡this.setName("咖啡");System.out.println("请输入购买容量:");// 设置饮料的容量为接收用户输入的数字this.setVolume(key.nextInt());System.out.println("请问是否要添加配料:(1.加糖  2.加奶  3.什么都不加)");int num = key.nextInt();if (num < 1 || num > 3) {System.out.println("您输入的选项不存在,请重新输入");return;}// 设置配料this.mix = MIXS[num];System.out.printf("您要购买的饮料信息如下:\n名称:%s\n容量:%d\n添加配料:%s\n\n", this.getName(), this.getVolume(), this.mix);}}

3. 再定义一个可乐类Cola.java,继承饮料类

package com.feonix;import java.util.Scanner;public class Cola extends Drink {// 可乐种类列表private static final String[] TYPES = { "", "百世可乐", "可口可乐" };// 可乐的种类private String type;@Overridepublic void buy(Scanner key) {// 设置饮料名字为 可乐this.setName("可乐");System.out.println("请输入购买容量:");// 设置饮料的容量为接收用户输入的数字this.setVolume(key.nextInt());System.out.println("请问您想购买的可乐种类是:(1.百事可乐  2.可口可乐)");int num = key.nextInt();if (num < 1 || num > 2) {System.out.println("您输入的选项不存在,请重新输入");return;}// 设置可乐种类this.type = TYPES[num];System.out.printf("您要购买的饮料信息如下:\n名称:%s\n容量:%d\n可乐种类:%s\n\n", this.getName(), this.getVolume(), this.type);}
}

4. 再定义一个矿泉水类Water.java,继承饮料类

package com.feonix;import java.util.Scanner;public class Water extends Drink {@Overridepublic void buy(Scanner key) {// 设置饮料名字为 矿泉水this.setName("矿泉水");System.out.println("请输入购买容量:");// 设置饮料的容量为接收用户输入的数字this.setVolume(key.nextInt());System.out.printf("您要购买的饮料信息如下:\n名称:%s\n容量:%d\n\n", this.getName(), this.getVolume());}}

6. 最后定义测试类

package com.feonix;import java.util.Scanner;public class Test {public static void main(String[] args) {System.out.println("==欢迎使用爱鲜蜂自动饮料售货机==");System.out.println("请选择饮料(1.咖啡  2 矿泉水  3 可乐):");Scanner key = new Scanner(System.in);int num = key.nextInt();switch (num) {case 1:Drink coffee = new Coffee();coffee.buy(key);break;case 2:Drink water = new Water();water.buy(key);break;case 3:Drink cola = new Cola();cola.buy(key);default:break;}key.close();}
}

我的Java学习之路(三)-- 自动饮料售卖机控制台程序相关推荐

  1. java学习之路2--简单工厂模式实现饮料自动贩卖机

    java学习之路2 用简单工厂模式实现饮料自动贩卖机 功能简介 具体实现 1.简单工厂模式 2.代码 总结 用简单工厂模式实现饮料自动贩卖机) 功能简介 接收用户输入的信息,选择购买的饮料. 可供选择 ...

  2. JAVA学习之路--基础篇三

    目录 关于Java中从键盘输入的语句 nextxxx().next().nextLine()的区别 语句 if和if else语句 Switch语句 for语句 while和do..while bre ...

  3. 菜鸟haqima的Java学习之路第一天

    菜鸟haqima的Java学习之路第一天 导读:DOS命令 常用快捷键 Java的简单概述 (第一章 Java开发环境的搭建) 1.常用的DOS命令 1.1.怎么打开DOS命令窗口 win键+r(组合 ...

  4. java学习之路之javaSE基础1

    <h2>java学习之路之javaSE基础1</h2> <div> ###01.01_计算机基础知识(计算机概述)(了解) * A:什么是计算机?计算机在生活中的应 ...

  5. 个人开发经历--我的java学习之路(学校篇)

    个人开发经历--我的java学习之路(学校篇) 个人介绍: 姓名: 不在这里说明 联系信息: 个人历程 jdbc阶段 sql生成器 一代代码生成器 servlet阶段 servlet项目中,sql生成 ...

  6. 萌新的java学习之路——第一周

    萌新的java学习之路--第一周 第一周的学习 这是我学习Java的第一周,写这个博客更多的时为了总结自己这一周的学习情况,如果有人看到我写的博客,有什么问题的话,可以问我.虽然我也是一个小白,但我会 ...

  7. java学习之路---java学习的方法和java学习路线

    转载于: http://blog.csdn.net/zhangerqing 前段时间逛论坛,总会有很多新手很迷茫,问到:到底该怎么学好Java,这个问题很重要,尤其对于像我们这样大多数都是靠自学的人来 ...

  8. java学习之路目录(已完结)

    java学习之路目录(持续更新中-) 第一阶段 javaSE(完结) 序号 标题 内容 001 java初识 java语言特点.体系结构.运行机制 002 java SE基础语法 注释.关键字.变量. ...

  9. Java学习之路——接口

    Java学习之路--接口 概述 总所周知,我们是父母的孩子.我们的身上既继承了爸爸的基因也继承了妈妈的基因.这就是多继承. 然而在 Java 程序中,是不支持多继承的.Java 仅仅支持单继承.但是接 ...

最新文章

  1. mysql免密码登录, 及使用-e 参数执行sql脚本
  2. [IPhone] 仅在Debug编译的NSLog
  3. SAP ABAP实用技巧介绍系列之 How is configuration data loaded
  4. static_cast, dynamic_cast, const_cast探讨【转】
  5. HTML5 地理位置定位(HTML5 Geolocation)原理及应用 (调用GPS)
  6. 添加底部小火箭+目录
  7. AngularJS中ng-options简单用法及预选项失败的原因
  8. layui第三方插件引入_插件分享 | 可以进行web爬虫的Xray插件(文章末尾有福利)...
  9. Git:git合并分支
  10. 详细图解哈夫曼Huffman编码树
  11. centos mysql源_CentOS 使用国内源安装 MySQL
  12. Photoshop CS6版本安装及破解教程
  13. android 日期控件计算星座,21. “我”模块(二)之星座选择
  14. 计算机启动硬盘响,电脑开机时硬盘响个不停的原因及解决方法
  15. 商业虚拟专用网络技术十二 BGP/MPLS
  16. 苹果手机最近删除的照片删除了怎么恢复?
  17. 曾颖明的博客关于作者
  18. 数学建模学习1.22——多元回归分析
  19. 苹果id被锁定恢复方法(appleid被锁定怎么解除)
  20. 微信小程序—调用imgSecCheck接口实现多张图片鉴黄,敏感过滤

热门文章

  1. PPT里面的工具都是宝,用好不得了,这10个技巧你不得不知!
  2. X86与ARM平台下的参数传递机制
  3. 黑盒测试方法-----状态转换图
  4. Congfu Xu's HomePage
  5. 【产品运营从0到1】资深产品运营推荐的互联网产品运营人员必看书籍
  6. Java发送短信验证码
  7. tp3.2简单的图片上传实现
  8. %3c php 能用什么代替,Phpwind9
  9. SAP CO T-Code.
  10. MetaFun 小传