【PTA】7-1 编写一个类Shop(商店)、内部类InnerCoupons(内部购物券)
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(内部购物券)相关推荐
- 编写一个类Shop(商店)、内部类InnerCoupons(内部购物券)
7-2 编写一个类Shop(商店).内部类InnerCoupons(内部购物券) 分数 30 全屏浏览题目 切换布局 作者 吴光生 单位 新余学院 编写一个类Shop(商店),该类中有一个成员内部类I ...
- 《JAVA练习题目8》 编写一个类Person,包含的属性和方法如下: 属性:字符串类型的名字name,字符类型的性别gender,和整型的序号number
题目内容: 编写一个类Person,包含的属性和方法如下: 属性:字符串类型的名字name,字符类型的性别gender,和整型的序号number:方法:showMe,以"name-gende ...
- 编写一个类的方法,其输入参数为一个整数,输出为该整数各个位上的最大数字
1. 编写一个类的方法,其输入参数为一个整数,输出为该整数各个位上的最大数字. import java.util.*;public class Main {public static int s(in ...
- java编写一个类book代表教材_java 请通过代码封装,实现如下需求: 编写一个类Book,代表教材:...
java 请通过代码封装,实现如下需求: 编写一个类Book,代表教材: 关注:191 答案:2 mip版 解决时间 2021-02-01 17:18 提问者万丈深渊 2021-02-01 10: ...
- 6-3 按要求编写一个类Car,练习类的定义。
编写一个类Car,根据程序需求,编写Car类的构造方法和方法.要求如下: 成员变量:carNumber,只能在Car类内访问. 方法: setCarNumber方法:设置车牌号 重写toString方 ...
- 6-3 按要求编写一个类Car,练习类的定义。 (30分)
编写一个类Car,根据程序需求,编写Car类的构造方法和方法.要求如下: 成员变量:carNumber,只能在Car类内访问. 方法: setCarNumber方法:设置车牌号 重写toString方 ...
- 按要求编写一个Java应用程序:(1)定义一个类,描述一个矩形,包含有长、宽两种属性,和计算面积方法。(2)编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性
(1)定义一个类,描述一个矩形,包含有长.宽两种属性,和计算面积方法. public class Jvcs {private int Long; //长private int wide; //宽pub ...
- Java黑皮书课后题第6章:6.9(英尺和米之间的转换)编写一个类,包含如下两个方法:编写一个测试程序,调用这两个方法以显示下面的表格
6.9(英尺和米之间的转换)编写一个类,包含如下两个方法:编写一个测试程序,调用这两个方法以显示下面的表格 题目 题目概述与运行示例 破题 代码(本题) 题目 题目概述与运行示例 6.9(英尺和米之间 ...
- 编写一个类,实现简单的栈(提示:用链表结构实现)。数据的操作按先进后出(FILO)的顺序。
编写一个类,实现简单的栈(提示:用链表结构实现).数据的操作按先进后出(FILO)的顺序. 提示: 成员函数为 void queue::put(int item); //将数据item插入到栈中 in ...
最新文章
- php acl控制,用PHP怎么实现一个ACL系统?
- php强制下载压缩包损坏,php 通过header下载中文文件名 压缩包损坏或文件不存在的问题...
- 技术名词API/SDK/DLL的非技术层面理解
- android功能导航布局,安卓9.0新功能 屏幕旋转将与导航栏同窗
- 算法训练 未名湖边的烦恼
- ssl1747-登山机器人【离散化,玄学,贪心】
- 命令行编译java项目_命令行编译运行java工程(转)
- Vb.net/VB 声明API功能父窗口功能
- MySQL5.5安装版安装教程
- 某计算机房空气调节系统设计,空气调节工程思考题习题答案(精品DOC)
- 云脉文档管理小程序使办公更协同
- Twitter账号老被封?一文教会你怎么养号
- 欧冠超级计算机,超级计算机预测欧冠决赛:红军65%概率夺冠 萨拉赫最可能进球...
- 计算机基础知识2001年版本,2001年4月份《计算机应用基础》试题及答案(全国)...
- 《价值》张磊:在长期主义之路上,与你们同行,做时间的朋友。
- MFC开发之静态文本框实现编辑框滚动显示文字效果
- Altium Designer 超详细学习教程——前言
- 【山外笔记-计算机网络·第7版】第01章:计算机网络概述
- matlab 小波功率谱,小波变换后的各频率分量的功率谱,
- 【Python基础】网络编程之IP地址