实操考试题其他系列请移步专栏:JAVA实操题_疯狂的格式化的博客-CSDN博客
20211219 1+X 初级实操考试的试题与本次题目完全相同,所以20211219 1+X 初级实操考试不再重复发布题解。
有一题不太一样题解放这里:
【15 分】步骤 5:完成会员服务类 MemberService
字符串的翻转使用 StringBuffer 中的 reverse 方法即可。
public void showAll() { // 补全代码 // 注意1:数据来自Db.members // 注意2:是直接输出打印到控制台 for (int i = 0; i < Db.members.length; i++) { if (Db.members[i] != null) { String name = Db.members[i].getName(); StringBuffer dwp = new StringBuffer(Db.members[i].getPwd()).reverse(); System.out.println(name + "-" + dwp); } }
目标说明
超市管理系统涉及到会员 Member 管理,我们需要完成类
Member
的编写。项目源代码下方的
org.lanqiao.bean.Member
是一个类,请根据代码中的注释要求,补全空缺的代码。
/**
* Member 类的构造方法
* @param name
* @param pwd
* @param score
*/
public Member(String name,String pwd,int score) {
// 缺失代码
}
构造方法代码不多,可以直接手写。也可以把代码复制粘贴到 Eclipse 中,自动生成构造函数:
右键——>Source——>Generate Constructor using Fields...
public Member(String name,String pwd,int score) {
// 缺失代码
this.name=name;
this.pwd=pwd;
this.score=score;
}
目标说明
org.lanqiao.bean.Goods
是一个实体类,表示的是商品,请根据注释要求,补全空缺的代码。
// 缺失代码:请补全以下方法,要求商品数量的范围在:0
使用 if 判断即可。
public void setNum(int num) {
if(num>0&&num<100){
this.num=num;
}
}
目标说明
org.lanqiao.bean.Goods
是一个实体类,表示的是商品,请根据注释要求,补全空缺的代码。
// 请修改该方法,以保证打印对象时输出格式如下:(name=辣条;price=10;num=80;type=零食)
@Override
public String toString() {
return "";
}
代码不多可以直接手打,也可以直接将代码复制粘贴到 Eclipse 中自动生成 toString 方法:
右键——>Source——>Generate toString()...
@Override
public String toString() {
return "("+"name="+name+";price="+price+";num="+num+";type="+type+")";
}
目标说明
系统需要在内存中将会员和商品信息存储起来,我们使用
org.lanqiao.db.Db
类来实现,请根据注释要求,补全空缺的代码。
/**
* 需求:
*
* 下面请在 static 静态块中初始化这 2 个数组的数据
* 在 members 中添加 3 个会员:
*
* 会员名称 会员密码 会员积分
* zs 123 10
* ls 456 20
* ww 123456 30
*
* 在 goods 中添加 4 个商品:
* 商品名称 商品单价 商品数量 商量类别
* 辣条 10 30 零食
* 可乐 5 40 饮料
* 面包 8 50 主食
* 牙膏 12 10 日用
*/
static{
//参考如下代码,初始化会员数据(必须和上述需求一致),请补全代码
members[0] = new Member("zs","123",10);
members[1] = new Member("ls","456",20);
//设置会员人数,请补全代码
//参考如下代码,初始化商品数据(必须和上述需求一致),请补全代码
goods[0] = new Goods("辣条",10,30,"零食");
goods[1] = new Goods("可乐",5,40,"饮料");
//设置书籍数量,请补全代码
}
根据注释和给出的样例代码,照样子写即可。
static{
//参考如下代码,初始化会员数据(必须和上述需求一致),请补全代码
members[0] = new Member("zs","123",10);
members[1] = new Member("ls","456",20);
members[2] = new Member("ww","123456",30);
//设置会员人数,请补全代码
membersLength=3;
//参考如下代码,初始化商品数据(必须和上述需求一致),请补全代码
goods[0] = new Goods("辣条",10,30,"零食");
goods[1] = new Goods("可乐",5,40,"饮料");
goods[2] = new Goods("面包",8,50,"主食");
goods[3] = new Goods("牙膏",12,10,"日用");
//设置商品数量,请补全代码
goodsLength=4;
}
目标说明
对会员的一系列操作,被封装在
org.lanqiao.service.MemberService
类中,请根据注释要求,补全空缺的代码。
/**
* 打印输出所有会员的信息
*
* 需求:
* 按照以下格式输出所有会员,属性之间用短杠(-)分隔,每输出一个会员信息后换行:
*
* 会员名称1-会员密码1-会员积分1
* 会员名称2-会员密码2-会员积分2
*
* 样例:
* 猪八戒-123-10
* 沙僧-456-20
*/
public void showAll() {
// 补全代码
// 注意1:数据来自Db.members
// 注意2:是直接输出打印到控制台
}
根据题目要求输出即可。记住一定要判断是否为空(null),因为 members[i] 的长度是100,而数组中只有3条数据。null 对象调用 get 方法会报错。
public void showAll() {
// 补全代码
// 注意1:数据来自Db.members
// 注意2:是直接输出打印到控制台
for(int i =0;i
目标说明
请根据注释要求,完善
MemberService
的find
方法。
/**
* 根据会员的名称来查询会员信息
*
* 需求:
* 如果会员存在则返回会员对象,不存在则返回null
*
* @param name 会员名称
* @return 返回会员对象
*/
public Member find(String name){
// 补全代码
// 注意:数据来自Db.members
return null;
}
记住一定要判断是否为空(null),使用 equals 进行字符串的值比较即可。
public Member find(String name){
// 补全代码
// 注意:数据来自Db.members
for(int i =0;i
目标说明
org.lanqiao.service.GoodsService
是商品服务类,关于商品的系列操作都封装在其中,请根据注释要求,补全空缺的代码。
/**
* 打印每个商品的总价值(单价X数量)
*
* 需求:
* 按照以下格式输出信息,属性之间用短杠(-)分隔,每输出一个信息后换行:
*
* 商品名称1-商品1总价值
* 商品名称2-商品2总价值
*
* 样例:
* 辣条-300
* 可乐-200
*/
public static void printInfo() {
// 补全代码:
// 注意:数据来自Db.goods
}
记住一定要判断是否为空(null)。
public void printInfo() {
// 补全代码:
// 注意:数据来自Db.goods
for (int i = 0; i < Db.goods.length; i++) {
if(Db.goods[i]!=null){
System.out.println(Db.goods[i].getName()
+"-"+Db.goods[i].getNum()*Db.goods[i].getPrice());
}
}
}
目标说明
org.lanqiao.service.GoodsService
还有一个删除商品的功能未完成:
/**
* 根据商品名称删除商品
*
* 需求:
* 如果商品不存在,则返回fasle,如果存在则删除,并返回true
*
* @param name 商品名称
*/
public boolean delete(String name) {
// 补全代码
// 注意:数据来自Db.goods
// 删除商品后,后面的商品在数组中的位置要前移,且商品个数要减1
boolean f = false; //用来记录商品是否存在,true表示存在,false表示不存在
return f;
}
这道题和我的这篇文章的最后一题几乎一模一样详细题解就不再重复,不懂得可以去看看。20210610 1+X 初级实操项目_疯狂的格式化的博客-CSDN博客
public boolean delete(String name) {
// 补全代码
// 注意:数据来自Db.goods
// 删除商品后,后面的商品在数组中的位置要前移,且商品个数要减1
boolean f = false; //用来记录商品是否存在,true表示存在,false表示不存在
int i;
for(i = 0;i