7-2 编写一个类Shop(商店)、内部类InnerCoupons(内部购物券)

分数 30

全屏浏览题目

切换布局

作者 吴光生

单位 新余学院

编写一个类Shop(商店),该类中有一个成员内部类InnerCoupons(内部购物券),可以用于购买该商店的牛奶(假设每箱牛奶售价为50元)。要求如下:
(1)Shop类中有私有属性milkCount(牛奶的箱数,int类型)、公有的成员方法setMilkCount( )getMilkCount( )分别用于设置和获取牛奶的箱数。
(2)成员内部类InnerCoupons,有公有属性value(面值,int类型),一个带参数的构造方法可以设定购物券的面值value,一个公有的成员方法buy( )要求输出使用了面值为多少的购物券进行支付,同时使商店牛奶的箱数减少value/50。
(3)Shop类中还有成员变量coupons50(面值为50元的内部购物券,类型为InnerCoupons)、coupons100(面值为100元的内部购物券,类型为InnerCoupons)。
(4)在Shop类的构造方法中,调用内部类InnerCoupons的带参数的构造方法分别创建上面的购物券coupons50、coupons100。

在测试类Main中,创建一个Shop类的对象myshop,从键盘输入一个整数(大于或等于3),将其设置为牛奶的箱数。假定有顾客分别使用了该商店面值为50的购物券、面值为100的购物券各消费一次,分别输出消费后商店剩下的牛奶箱数。

输入格式:

输入一个大于或等于3的整数。

输出格式:

使用了面值为50的购物券进行支付
牛奶还剩XX箱
使用了面值为100的购物券进行支付
牛奶还剩XX箱

输入样例:

在这里给出一组输入。例如:

5

输出样例:

在这里给出相应的输出。例如:

使用了面值为50的购物券进行支付
牛奶还剩4箱
使用了面值为100的购物券进行支付
牛奶还剩2箱

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

我滴答案:

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);Shop shop = new Shop(in.nextInt());shop.coupons50.buy();System.out.println("牛奶还剩" + shop.getMilkCount() + "箱");shop.coupons100.buy();System.out.println("牛奶还剩" + shop.getMilkCount() + "箱");}
}class Shop {private int milkCount;InnerCoupons coupons50 = new InnerCoupons(50);InnerCoupons coupons100 = new InnerCoupons(100);public Shop(int milkCount) {super();this.milkCount = milkCount;}class InnerCoupons {public int value;public InnerCoupons(int value) {this.value = value;}public void buy() {System.out.println("使用了面值为" + value + "的购物券进行支付");milkCount = milkCount - value / 50;}}public int getMilkCount() {return milkCount;}public void setMilkCount(int milkCount) {this.milkCount = milkCount;}}

我滴总结:

太简单啦,没什么嗦的

编写一个类Shop(商店)、内部类InnerCoupons(内部购物券)相关推荐

  1. 【PTA】7-1 编写一个类Shop(商店)、内部类InnerCoupons(内部购物券)

    7-1 编写一个类Shop(商店).内部类InnerCoupons(内部购物券)(分数 30) 编写一个类Shop(商店),该类中有一个成员内部类InnerCoupons(内部购物券),可以用于购买该 ...

  2. 《JAVA练习题目8》 编写一个类Person,包含的属性和方法如下: 属性:字符串类型的名字name,字符类型的性别gender,和整型的序号number

    题目内容: 编写一个类Person,包含的属性和方法如下: 属性:字符串类型的名字name,字符类型的性别gender,和整型的序号number:方法:showMe,以"name-gende ...

  3. 编写一个类的方法,其输入参数为一个整数,输出为该整数各个位上的最大数字

    1. 编写一个类的方法,其输入参数为一个整数,输出为该整数各个位上的最大数字. import java.util.*;public class Main {public static int s(in ...

  4. java编写一个类book代表教材_java 请通过代码封装,实现如下需求: 编写一个类Book,代表教材:...

    java 请通过代码封装,实现如下需求: 编写一个类Book,代表教材: 关注:191  答案:2  mip版 解决时间 2021-02-01 17:18 提问者万丈深渊 2021-02-01 10: ...

  5. 6-3 按要求编写一个类Car,练习类的定义。

    编写一个类Car,根据程序需求,编写Car类的构造方法和方法.要求如下: 成员变量:carNumber,只能在Car类内访问. 方法: setCarNumber方法:设置车牌号 重写toString方 ...

  6. 6-3 按要求编写一个类Car,练习类的定义。 (30分)

    编写一个类Car,根据程序需求,编写Car类的构造方法和方法.要求如下: 成员变量:carNumber,只能在Car类内访问. 方法: setCarNumber方法:设置车牌号 重写toString方 ...

  7. 按要求编写一个Java应用程序:(1)定义一个类,描述一个矩形,包含有长、宽两种属性,和计算面积方法。(2)编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性

    (1)定义一个类,描述一个矩形,包含有长.宽两种属性,和计算面积方法. public class Jvcs {private int Long; //长private int wide; //宽pub ...

  8. Java黑皮书课后题第6章:6.9(英尺和米之间的转换)编写一个类,包含如下两个方法:编写一个测试程序,调用这两个方法以显示下面的表格

    6.9(英尺和米之间的转换)编写一个类,包含如下两个方法:编写一个测试程序,调用这两个方法以显示下面的表格 题目 题目概述与运行示例 破题 代码(本题) 题目 题目概述与运行示例 6.9(英尺和米之间 ...

  9. 编写一个类,实现简单的栈(提示:用链表结构实现)。数据的操作按先进后出(FILO)的顺序。

    编写一个类,实现简单的栈(提示:用链表结构实现).数据的操作按先进后出(FILO)的顺序. 提示: 成员函数为 void queue::put(int item); //将数据item插入到栈中 in ...

最新文章

  1. m.pythontab.com_Python expandtabs()函数的使用
  2. Facebook提升性能的一大法宝:HipHop
  3. 不要把为师我说出来就不错了
  4. 零基础学Python(第三章 基础语法)
  5. http接口服务方结合策略模式实现总结
  6. Vue项目从无到有的部署上Github page
  7. 【微信小程序】带你做一个公众号留言系统(附源码)
  8. 1、基于Feign的接口调用概述
  9. tensorflow loss到多少_tensorflow学习笔记day4
  10. 《java高并发编程详解》第0集
  11. 有哪些免费的可以下载png图片的网站啊?
  12. MATLAB2016笔记(十一):基本粒子群优化算法(PSO)的MATLAB实现
  13. 增量式编码器和绝对式编码器
  14. linux怎么将一个文件移动到另一个目录下
  15. iphone4s在ios7下解决卡顿问题
  16. 小帅功能软件测试经验总结
  17. 看完知乎轮子哥的编程之路,我只想说,收下我的膝盖...
  18. 按版面抓取饮水思源照片
  19. OpenCV Tutorial: 開運算、閉運算(morphologyEx、MORPH_OPEN、MORPH_CLOSE)
  20. ESP8266-Arduino编程实例-TSL2561亮度传感器驱动

热门文章

  1. python写梦幻西游脚本精灵_python写的梦幻手游辅助工具,非外 挂
  2. error: can‘t create transaction lock on /var/lib/rpm/.rpm.lock (Permission denied)
  3. 【Pytorch】AWSnet论文解读与实验复现
  4. 试简述smtp通信的三个阶段的过程_通信原理简答题汇总
  5. 拉勾教育java高薪训练营课程怎么样_[拉勾教育-大前端高薪训练营]这可能是迄今为止对大前端最好的解释...
  6. Linux rpm -ivm,Linux常见命令
  7. 至尊宝android.phone,Android至尊宝 索尼爱立信X10i行货评测
  8. 用ArcMap打开MXD文件报One or more layers failed to draw错误!
  9. webApp——媒体查询
  10. R语言ERROR: compilation failed for package ‘****‘