2021 大数据应用开发Java 1+x中级实操题答案汇总–含3篇
2021实操题答案
食用须知:
答案是我自己试过运行了的,不能说是最正确的答案,仅供参考哈!
为了方便复制粘贴,sql语句就没有加分号了;
特别注意:如测试失败了,要检查sql表是否产生了变化,如果有变化,可能会一直报错的。可以使用命令重置mysql数据:
mysql -uroot < /home/project/init-MySql.sql
20211030 1+X 中级实操考试样题
【5 分】步骤 1:项目准备
根据提示复制粘贴运行即可!
【5 分】步骤 2:完成实体类 Member
//以提供Memeber类的属性,补充完成该累的有参(四个参数)及无参构造方法
public Member(){}
public Member(String name,String pwd,float score,int rank){
this.name = name;
this.pwd = pwd;
this.score = score;
this.rank = rank;
}
【10 分】步骤 3:完成实体类 Goods
//请修改该方法,并且在赋值时,商品数量不能超过100
public void setNum(int num){
if(0<num && num<=100){
this.num=num;
}
}
【10 分】步骤 4:完成工具类 DateUtil的convertFromStringToDate方法
public static Date convertFromStringToDate(String stringDate){
Date date = null;
try{
date = sdf.parse(stringDate);
} catch(ParseException e){
// TODO Auto-generated catch block
e.printStackTrace();
};
return date;
}
【10 分】步骤 5:完成工具类 DateUtil的convertFromDateToString方法
/**
* 使用全局变量: sdf,将日期转换成字符串
* @param date 需要被转换的日期
* @return 转换之后的字符串形式的日期
*/
public static String convertFromDateToString(Date date) {
// 补全或替换代码
return sdf.format(date);
}
【10 分】步骤 6:完成 GoodsDaoImpl 的 queryExpensiveGoods 方法
sql语句:
select name from goods where price=(select max(price) from goods)
【10 分】步骤 7:完成 GoodsDaoImpl 的 querySum 方法
for (Goods goods : list) {
// 请补全代码
sum += goods.getPrice()*goods.getNum();
}
return sum;
【10 分】步骤 8:完成 MemberDaoImpl 的 updatePwd 方法
sql语句:
update member set pwd=reverse(pwd)
【10 分】步骤 9:完成 MemberDaoImpl 的 updateRank 方法
sql语句:
update member set `rank`=(case when score between 0 and 99 then 0 when score between 100 and 199 then 1 when score between 200 and 299 then 2 when score between 300 and 400 then 3 when score between 400 and 500 then 4 when score>=500 then 5 end)
【10 分】步骤 10:完成 OrderDaoImpl 的 queryNum 方法
for(Order order:o){
// 请补全语句
s.add(order.getId())
}
【10 分】步骤 11:完成 OrderDaoImpl 的 queryMax 方法
sql语句
select mname from (select mname,sum(num*price) prices from `order` group by mname)a where prices=(select max(prices) from (select mname,sum(num*price) prices from `order` group by mname)b)
20211127 1+X 中级实操考试样题
【5 分】步骤 1项目准备
略
【5 分】步骤 2:完成实体类 Student
//已经提供Student类的属性,补充完成该类的有参(五个参数)及无参构造方法
public Student(){}
public Student(String name, String pwd,int age,int grade, int rate){
this.name = name;
this.pwd = pwd;
this.age = age;
this.grade = grade;
this.rate = rate;
}
【10 分】步骤 3:完成实体类 Course
//请修改该方法,并且在赋值时,课程难度只能为:高、中、低这三种之一,其余值不做任何处理。
public void setDifficulty(String difficulty) {
if(difficulty.equals("高")||difficulty.equals("中")||difficulty.equals("低")){
this.difficulty = difficulty;
}
}
【10 分】步骤 4:完成实体类 Score
//请修改该方法,以保证打印对象时输出格式如下:
(sname=zs;cname=语文;score=80)
@Override
public String toString() {
return "(sname="+this.sname+";cname="+this.cname+";score="+this.score+")"; }
【10 分】步骤 5:完成 StudentDaoImpl 的 add 方法
public int add(Student s) {
// 请补全sql语句
String sql = "insert into student values(?,?,?,?,?)";
return studentUtil.add(sql, s.getName(),s.getPwd(),s.getAge(),s.getGrade(),s.getRate());
}
【10 分】步骤 6:完成 StudentDaoImpl 的 queryNum 方法
public int queryNum() {
String sql = "select * from student";
List<Student> list = studentUtil.getList(sql, Student.class);
// 请修改以下代码,保证返回值为总人数,假设所有学生名字都不一样
int num = 0;
num = list.size();
return num;
}
【10 分】步骤 7:完成 StudentDaoImpl 的 queryMinAge 方法
sql语句:
select name from student where age=(select min(age) from student)
【10 分】步骤 8:完成 CourseDaoImpl 的 queryCourse 方法
sql语句:
select * from course where name=?
【10 分】步骤 9:完成 CourseDaoImpl 的 updateDifficultyByName 方法
sql语句:
update course set difficulty=? where name=?
【10 分】步骤 10:完成 ScoreDaoImpl 的 queryAvgMax 方法
sql语句:
select sname from (select sname,avg(score) sss from score group by sname)t1 where sss=(select max(sss) from (select sname,avg(score) sss from score group by sname)t2)
【10 分】步骤 11:完成 ScoreDaoImpl 的 queryName 方法
//把集合li中的每个成绩对象的名字取出来放进集合s中,并返回
//请补全一下代码
for(Score i:li){
s.add(i.getSname())
}
return s;
20210620 1+X 中级实操考试样题
【5 分】步骤 1:项目准备
略
【5 分】步骤 2:完成实体类 Student
//已经提供Student类的属性,补充完成该类的有参(两个参数)及无参构造方法
public Student(String name,String pwd){
this.name = name;
this.pwd = pwd;
}
public Student(){}
【10 分】步骤 3:完成工具类 DateUtil的convertFromStringToDate方法
public static Date convertFromStringToDate(String stringDate) {
// 补全代码:
Date date = null;
try {
date = sdf.parse(stringDate);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
};
return date;
}
【10 分】步骤 4:完成工具类 DateUtil的convertFromDateToString方法
public static String convertFromDateToString(Date date) {
// 补全或替换代码
return sdf.format(date);
}
【10 分】步骤 5:完成 SBDaoImpl 的 findByName 方法
sql语句:
select * from book where name=?
【10 分】步骤 6:继续完善 SBDaoImpl 类
sql语句:
select name from book where price=(select max(price) from book)
【10 分】步骤 7:继续完善 SBDaoImpl 类
sql语句:
delete from student where exists(select * from(select name from student where name=?)a) and name=student.name
【10 分】步骤 8:继续完善 SBDaoImpl 类
public void changePwd(String name,String oldPwd,String newPwd){
// 1.先判断学生姓名和旧密码是否正确
// 请补全sql语句
String sql1 = "select * from student where name=? and pwd=?";
Student s = ou.getOne(sql1, Student.class, name, oldPwd);
// 2.姓名和旧密码正确,则更新;姓名和旧密码不正确,则不更新
if(s!=null){
// 请补全sql语句
String sql2 = "update student set pwd=? where name=?";
ou.update(sql2, newPwd, name);
}
}
【15 分】步骤 9:继续完善 SBDaoImpl 类
sql语句1:
insert into sb(sname,bname,begintime) values(?,?,?)
sql语句2:
update book set num=num-1 where name=?
【15 分】步骤 10:继续完善 SBDaoImpl 类
sql语句1:
select * from sb where sname=? and bname=? and begintime=?
sql语句2:
update sb set endtime=? where sname=? and bname=? and begintime=?
sql语句3:
update book set num=num+1 where name=?
结语
这是我的第一篇博文,仅供学习参考,写的不好或者错误之处,欢迎各方大佬指正!
版权归原作者 xiaoweiwei99 所有, 如有侵权,请联系我们删除。