考试试题结果得分
这篇博客没有用到什么技术,只是一些小代码的逻辑,这是十道题的判断,如不满足需求,请自行修改,
Constants(工具类).score(方法).zero(值0),其它参数一样
//判断试题得分 @Override public QuestionScoreResponse questionScore(QuestionScoreRequest request) { logger.info("————————————————判断试题得分"); QuestionScoreResponse response= new QuestionScoreResponse(); String s=""; // String cusStr="1A2B3C4G5G6G6S"; List<String> ls=new ArrayList<String>(); for (int i=Constants.score.one;i<request.getCusStr().length();i++){ for (int j=Constants.score.two;j<=request.getCusStr().length();j+=Constants.score.two) { if (j<request.getCusStr().length()-Constants.score.two){ s = request.getCusStr().substring(i, j); System.out.print(s); ls.add(s); i+=Constants.score.two; }else { s = request.getCusStr().substring(Constants.score.Twenty, Constants.score.twentyOne); System.out.print(s); ls.add(s); break; } } break; } int score = Constants.score.zero; if (null!=ls&&ls.size()<Constants.score.Fifty) {//list不为空并且是50条数据 Questions questions = new Questions(); List<Questions> questionsList = questionsDao.queryAllQuestion();//获取数据库所有试题 int j = Constants.score.zero; if (ls.size() < questionsList.size()) { response.setCode("2222"); response.setMessage("试题未答完"); return response; } if (ls.size() > questionsList.size()) { response.setCode("3333"); response.setMessage("回答试题过多"); return response; } for (int n = Constants.score.zero; n < ls.size(); n++) {//循环所有题目数量 for (Questions q : questionsList) {//遍历数据库中所有试题 if (j == n) { q = questionsList.get(j); if (ls.get(n).equals(q.getSure())) { score += Constants.score.hundred / ls.size(); j++; break; } } else { response.setCode("1111"); response.setMessage("未知错误,请联系后台调试"); return response; } j++; break; } } response.setScore(String.valueOf(score)); } //判断工人是否有完成的订单,如果没有则是新手,如果有,则是老手 OrderInfo orderinfo = new OrderInfo(); orderinfo.setUserId(request.getCustomerId());//工人ID orderinfo.setOrderFinishStat(Constants.compStatus.compStatusOk);//1 订单已完成的状态, List<OrderInfo> orderinfoList = orderInfoDao.selectYiWanChengOrder(orderinfo); OrderInfo orderinfoEntity = new OrderInfo(); orderinfoEntity.setUserId(request.getCustomerId());//工人ID orderinfoEntity.setOrderFinishStat(Constants.compStatus.priceYes);//1 订单已到账的状态 List<OrderInfo> orderPayYesList = orderInfoDao.selectYiWanChengOrder(orderinfoEntity); UserInfo u = new UserInfo(); u.setUserId(request.getCustomerId()); u.setCrtUpdTime(QMDateUtil.getYYYYMMDDHHMMSS()); u.setAvgStart(String.valueOf(Constants.score.three * (orderinfoList.size()+orderPayYesList.size()+Constants.evaluation.sumtype))); u.setAllStar(String.valueOf(Constants.score.three)); u.setSocre(String.valueOf(score)); int sum = userInfoDao.updateCustomerInfo(u); if (DataVerifyUtil.isEmptySize(sum)){ response.setCode("1111"); response.setMessage("未知错误,请联系后台调试"); return response; } logger.info("————————————————判断试题得分成功,分数:"+score); return response; }