package com.it.service.impl;

import com.it.domain.ExamQuestion; import com.it.domain.Result; import com.it.domain.Student; import com.it.operation.QuestionOperation; import com.it.operation.ResultOperation; import com.it.operation.StudentOperation; import com.it.service.StudentService;

import java.util.Collections; import java.util.Date; import java.util.List; import java.util.Scanner;

/**

  • 学生实现类 */ public class StudentServiceImpl implements StudentService {

    private final Scanner sc = new Scanner(System.in); private final StudentOperation studentDao = new StudentOperation(); private final QuestionOperation questionDao = new QuestionOperation(); private final ResultOperation resultDao = new ResultOperation();

    /中文学生注册/ @Override public void chineseStudentRegister() { System.out.println('注册界面'); System.out.println('请输入你的学号:'); String id = sc.nextLine(); System.out.println('请输入你的姓名:'); String name = sc.nextLine(); System.out.println('请输入你的电话:'); String phone = sc.nextLine(); System.out.println('请输入你的密码:'); String password = sc.nextLine();

     Student student = new Student();
     student.setSno(Integer.parseInt(id));
     student.setPassword(password);
     student.setPhone(phone);
     student.setSname(name);
    
     int i = studentDao.insert(student);
    
     System.out.println(i > 0 ? '注册成功!' : '注册失败!');
    

    }

    /中文登录/ @Override public void chineseStudentLogin() { System.out.println('学生登录'); System.out.println('请输入你的学号:'); String id = sc.nextLine(); System.out.println('请输入你的密码:'); String password = sc.nextLine(); System.out.println('您确定现在登录吗?'); System.out.println('1.是'); System.out.println('2.否'); System.out.println('3.返回主页'); String isNow = sc.nextLine(); switch (isNow) { case '1': break; case '2': return; case '3': return; default: System.out.println('没有这个选项!'); return; }

     Student student = new Student();
     student.setSno(Integer.parseInt(id));
     student.setPassword(password);
    
     Student one = studentDao.getOne(student);
    
     if (one == null) {
         System.out.println('学生信息不存在!请检查您的学号或密码');
         return;
     }
     //学生登录界面,选择是否考试
     loop:
     while (true) {
         System.out.println('学生界面');
         System.out.println('1.开始考试');
         System.out.println('2.退出');
         String choose = sc.nextLine();
         switch (choose) {
             case '1':
                 chineseExam();
                 break;
             case '2':
                 break loop;
             default:
                 System.out.println('没有这个选项!');
                 break;
         }
     }
    

    }

    /英文学生注册/ @Override public void englishStudentRegister() { System.out.println('Welcome to register'); System.out.println('Please enter your student id:'); String id = sc.nextLine(); System.out.println('Please enter your name:'); String name = sc.nextLine(); System.out.println('Please enter your phone number:'); String phone = sc.nextLine(); System.out.println('Please enter your password:'); String password = sc.nextLine();

     Student student = new Student();
     student.setSno(Integer.parseInt(id));
     student.setPassword(password);
     student.setPhone(phone);
     student.setSname(name);
    
     int i = studentDao.insert(student);
    
     System.out.println(i > 0 ? 'registe Successful!' : 'registe Error');
    

    }

    /英文学生登录/ @Override public void englishStudentLogin() { System.out.println('Student login'); System.out.println('Please enter your student id:'); String id = sc.nextLine(); System.out.println('Please enter your password:'); String password = sc.nextLine(); System.out.println('Are you sure login now?'); System.out.println('1.Yes'); System.out.println('2.No'); System.out.println('3.Back to the homePage'); String isNow = sc.nextLine(); switch (isNow) { case '1': break; case '2': return; case '3': return; default: System.out.println('No choose!'); return; }

     Student student = new Student();
     student.setSno(Integer.parseInt(id));
     student.setPassword(password);
    
     Student one = studentDao.getOne(student);
    
     if (one == null) {
         System.out.println('No student!Please check your id or password');
         return;
     }
     //学生登录界面,选择是否考试
     loop:
     while (true) {
         System.out.println('Student board');
         System.out.println('1.Start exam');
         System.out.println('2.Quit');
         String choose = sc.nextLine();
         switch (choose) {
             case '1':
                 englishExam();
                 break;
             case '2':
                 break loop;
             default:
                 System.out.println('No choose!');
                 break;
         }
     }
    

    }

    /英文考试菜单/ @Override public void englishExam() { System.out.println('Exam Form'); System.out.println('Please enter your student id:'); String id = sc.nextLine(); System.out.println('Please enter your name:'); String name = sc.nextLine(); Student student = studentDao.getByIdAndName(Integer.parseInt(id), name); if (student==null){ System.out.println('No Student!Please check your id or name'); return; } System.out.println('Please choose a course:'); System.out.println('1.Java'); System.out.println('2.MySQL'); String course = sc.nextLine(); String courseName; switch (course) { case '1': courseName = 'Java'; break; case '2': courseName = 'MySQL'; break; default: System.out.println('No choose!'); return; }

     System.out.println('Do you want to start now?');
     System.out.println('1.Start');
     System.out.println('2.quit');
     String choose = sc.nextLine();
    
     switch (choose) {
         case '1':
             double core = startEnglishExam(courseName);
    
             Result result = new Result();
             result.setSno(Integer.parseInt(id));
             result.setSname(name);
             result.setCourse(courseName);
             result.setScore(core);
             result.setDate(new Date());
    
             int i = resultDao.insert(result);
             System.out.println(i>0?'submit success!':'submit error!');
             break;
         case '2':
             return;
         default:
             System.out.println('No choose!');
             break;
     }
    

    }

    /中文考试菜单/ @Override public void chineseExam() { System.out.println('考试表单'); System.out.println('请输入你的学号:'); String id = sc.nextLine(); System.out.println('请输入你的姓名:'); String name = sc.nextLine(); Student student = studentDao.getByIdAndName(Integer.parseInt(id), name); if (student==null){ System.out.println('学生信息不存在!请检查你的学号或姓名'); return; } System.out.println('请选择一个课程:'); System.out.println('1.Java'); System.out.println('2.MySQL'); String course = sc.nextLine(); String courseName; switch (course) { case '1': courseName = 'Java'; break; case '2': courseName = 'MySQL'; break; default: System.out.println('没有这个选项!'); return; } System.out.println('你想要现在开始考试吗?'); System.out.println('1.开始'); System.out.println('2.退出'); String choose = sc.nextLine();

     switch (choose) {
         case '1':
             double core = startChineseExam(courseName);
    
             Result result = new Result();
             result.setSno(Integer.parseInt(id));
             result.setSname(name);
             result.setCourse(courseName);
             result.setScore(core);
             result.setDate(new Date());
    
             int i = resultDao.insert(result);
             System.out.println(i>0?'提交成功!':'提交失败!');
             break;
         case '2':
             return;
         default:
             System.out.println('没有这个选项!');
             break;
     }
    

    }

    /中文答题界面/ @Override public double startChineseExam(String courseName) { double core = 0; String answer; List questions = questionDao.list(courseName); Collections.shuffle(questions);

     int len = 10;
     if (questions.size()<10){
         len = questions.size();
     }
     for (int i = 0; i < len; i++) {
     	ExamQuestion question = questions.get(i);
         System.out.println(question.getQuestionName());
         System.out.println('A.' + question.getOption1());
         System.out.println('B.' + question.getOption2());
         System.out.println('C.' + question.getOption3());
         System.out.println('D.' + question.getOption4());
         System.out.println('请输入你的选择:');
         String choose = sc.nextLine();
         switch (choose) {
             case 'A':
                 answer = question.getOption1();
                 break;
             case 'a':
                 answer = question.getOption1();
                 break;
             case 'B':
                 answer = question.getOption2();
                 break;
             case 'b':
                 answer = question.getOption2();
                 break;
             case 'C':
                 answer = question.getOption3();
                 break;
             case 'c':
                 answer = question.getOption3();
                 break;
             case 'D':
                 answer = question.getOption4();
                 break;
             case 'd':
                 answer = question.getOption4();
                 break;
             default:
                 System.out.println('没有这个选项!');
                 answer = '';
                 break;
         }
         if (question.getCorrectAnswer().equals(answer)){
             core += 10;
         }
    
         System.out.println('你想要继续下一题吗?');
         System.out.println('1.继续');
         System.out.println('2.交卷');
         String isContinue = sc.nextLine();
         switch (isContinue){
             case '1':
                 if (i==len-1){
                     System.out.println('这已经是最后一个问题了');
                 }
                 break;
             case '2':
                 return core;
             default:
                 System.out.println('没有这个选项!');
                 break;
         }
     }
     return core;
    

    }

    /英文答题界面/ @Override public double startEnglishExam(String courseName) { double core = 0; String answer; List questions = questionDao.list(courseName); Collections.shuffle(questions);

     int len = 10;
     if (questions.size()<10){
         len = questions.size();
     }
     for (int i = 0; i < len; i++) {
     	ExamQuestion ExamQuestion = questions.get(i);
         System.out.println(ExamQuestion.getQuestionName());
         System.out.println('A.' + ExamQuestion.getOption1());
         System.out.println('B.' + ExamQuestion.getOption2());
         System.out.println('C.' + ExamQuestion.getOption3());
         System.out.println('D.' + ExamQuestion.getOption4());
         System.out.println('Please enter your choose:');
         String choose = sc.nextLine();
         switch (choose) {
             case 'A':
                 answer = ExamQuestion.getOption1();
                 break;
             case 'a':
                 answer = ExamQuestion.getOption1();
                 break;
             case 'B':
                 answer = ExamQuestion.getOption2();
                 break;
             case 'b':
                 answer = ExamQuestion.getOption2();
                 break;
             case 'C':
                 answer = ExamQuestion.getOption3();
                 break;
             case 'c':
                 answer = ExamQuestion.getOption3();
                 break;
             case 'D':
                 answer = ExamQuestion.getOption4();
                 break;
             case 'd':
                 answer = ExamQuestion.getOption4();
                 break;
             default:
                 System.out.println('No choose!');
                 answer = '';
                 break;
         }
         if (ExamQuestion.getCorrectAnswer().equals(answer)){
             core += 10;
         }
    
         System.out.println('Do you want to next now?');
         System.out.println('1.next');
         System.out.println('2.Finish');
         String isContinue = sc.nextLine();
         switch (isContinue){
             case '1':
                 if (i==len-1){
                     System.out.println('The question is last');
                 }
                 break;
             case '2':
                 return core;
             default:
                 System.out.println('No choose!');
                 break;
         }
     }
     return core;
    

    }

}

Student Service Implementation for Exam System

原文地址: https://www.cveoy.top/t/topic/f0U5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录