7-1 编写一个类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箱

import java.util.Scanner;class Shop {   // Shop类private int milkCount;InnerCoupons coupons50;   // InnerCoupons类型成员变量coupons50InnerCoupons coupons100;   // InnerCoupons类型成员变量coupons100public Shop() {}public Shop(int milkCount) {   // 调用内部类InnerCoupons的带参数的构造方法分别创建上面的购物券coupons50、coupons100coupons50 = new InnerCoupons(50);coupons100 = new InnerCoupons(100);this.milkCount = milkCount;}class InnerCoupons {   // 成员内部类InnerCouponspublic int value;public InnerCoupons(int value) {this.value = value;}public void buy(int value) {   // 公有的成员方法buy( ) System.out.println("使用了面值为" + value + "的购物券进行支付");milkCount -= value/50;System.out.println("牛奶还剩" + milkCount + "箱");}}public void setMilkCount(int milkCount) {   // 公有的成员方法setMilkCount( )this.milkCount = milkCount;}public int getMilkCount() {   // 公有的成员方法getMilkCount( )return milkCount;}
}public class Main {public static void main(String [] args) {Scanner sc = new Scanner(System.in);Shop myshop = new Shop(sc.nextInt());   // 创建一个Shop类的对象myshopmyshop.coupons50.buy(50);   // 使用了该商店面值为50的购物券myshop.coupons100.buy(100);   // 使用了该商店面值为100的购物券}
}

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

  1. 编写一个类Shop(商店)、内部类InnerCoupons(内部购物券)

    7-2 编写一个类Shop(商店).内部类InnerCoupons(内部购物券) 分数 30 全屏浏览题目 切换布局 作者 吴光生 单位 新余学院 编写一个类Shop(商店),该类中有一个成员内部类I ...

  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. php acl控制,用PHP怎么实现一个ACL系统?
  2. php强制下载压缩包损坏,php 通过header下载中文文件名 压缩包损坏或文件不存在的问题...
  3. 技术名词API/SDK/DLL的非技术层面理解
  4. android功能导航布局,安卓9.0新功能 屏幕旋转将与导航栏同窗
  5. 算法训练 未名湖边的烦恼
  6. ssl1747-登山机器人【离散化,玄学,贪心】
  7. 命令行编译java项目_命令行编译运行java工程(转)
  8. Vb.net/VB 声明API功能父窗口功能
  9. MySQL5.5安装版安装教程
  10. 某计算机房空气调节系统设计,空气调节工程思考题习题答案(精品DOC)
  11. 云脉文档管理小程序使办公更协同
  12. Twitter账号老被封?一文教会你怎么养号
  13. 欧冠超级计算机,超级计算机预测欧冠决赛:红军65%概率夺冠 萨拉赫最可能进球...
  14. 计算机基础知识2001年版本,2001年4月份《计算机应用基础》试题及答案(全国)...
  15. 《价值》张磊:在长期主义之路上,与你们同行,做时间的朋友。
  16. MFC开发之静态文本框实现编辑框滚动显示文字效果
  17. Altium Designer 超详细学习教程——前言
  18. 【山外笔记-计算机网络·第7版】第01章:计算机网络概述
  19. matlab 小波功率谱,小波变换后的各频率分量的功率谱,
  20. 【Python基础】网络编程之IP地址

热门文章

  1. html点击关闭按钮关闭当前页面刷新,jq点击关闭按钮,关闭当前页面
  2. 【BZOJ-3252】攻略 DFS序 + 线段树 + 贪心
  3. 基于51单片机的DS18B20温度计
  4. Windows打印体系结构之Windows内置打印驱动程序
  5. SpringBoot 做系统的权限管理——
  6. VB中关于while...wend的使用
  7. 在局域网如何使用Git
  8. 全志v3s学习笔记(5)——主线Linux编译与烧录
  9. 数据库原理和应用(4)—— 三个世界及有关概念、数据模型
  10. grade简单配置和使用