2021 开发大数据应用Java 1 x总结中级实践题答案-3篇文章
- 2021实操题答案
-
- 20211030 1 X 中级实操考试样题
- 20211127 1 X 中级实操考试样题
- 20210620 1 X 中级实操考试样题
-
- 结语
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 分】步骤 三、完成实体类 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=?
结语
这是我的第一篇博文,仅供学习参考,写的不好或者错误之处,欢迎各方大佬指正!