package com.it.service.impl;

import com.it.dao.QuestionDao; import com.it.dao.ResultDao; import com.it.dao.StudentDao; import com.it.domain.Question; import com.it.domain.Result; import com.it.domain.Student; 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 StudentDao studentDao = new StudentDao(); private final QuestionDao questionDao = new QuestionDao(); private final ResultDao resultDao = new ResultDao();

    /中文学生注册/ @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.查看历史成绩');
         System.out.println('3.退出');
         String choose = sc.nextLine();
         switch (choose) {
             case '1':
                 ChineseExam();
                 break;
             case '2':
                 List<Result> results = resultDao.list(one.getSno());
                 if (results.isEmpty()) {
                     System.out.println('您还没有考试记录!');
                 } else {
                     System.out.println('您的历史成绩如下:');
                     for (Result result : results) {
                         System.out.println(result.getCourse() + ':' + result.getScore());
                     }
                 }
                 break;
             case '3':
                 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.View exam history');
         System.out.println('3.Quit');
         String choose = sc.nextLine();
         switch (choose) {
             case '1':
                 EnglishExam();
                 break;
             case '2':
                 List<Result> results = resultDao.list(one.getSno());
                 if (results.isEmpty()) {
                     System.out.println('You don't have any exam history!');
                 } else {
                     System.out.println('Your exam history is as follows:');
                     for (Result result : results) {
                         System.out.println(result.getCourse() + ':' + result.getScore());
                     }
                 }
                 break;
             case '3':
                 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++) {
         Question question = questions.get(i);
         System.out.println(question.getQname());
         System.out.println('A.' + question.getAns1());
         System.out.println('B.' + question.getAns2());
         System.out.println('C.' + question.getAns3());
         System.out.println('D.' + question.getAns4());
         System.out.println('请输入你的选择:');
         String choose = sc.nextLine();
         switch (choose) {
             case 'A':
                 answer = question.getAns1();
                 break;
             case 'a':
                 answer = question.getAns1();
                 break;
             case 'B':
                 answer = question.getAns2();
                 break;
             case 'b':
                 answer = question.getAns2();
                 break;
             case 'C':
                 answer = question.getAns3();
                 break;
             case 'c':
                 answer = question.getAns3();
                 break;
             case 'D':
                 answer = question.getAns4();
                 break;
             case 'd':
                 answer = question.getAns4();
                 break;
             default:
                 System.out.println('没有这个选项!');
                 answer = '';
                 break;
         }
         if (question.getAnswer().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++) {
         Question question = questions.get(i);
         System.out.println(question.getQname());
         System.out.println('A.' + question.getAns1());
         System.out.println('B.' + question.getAns2());
         System.out.println('C.' + question.getAns3());
         System.out.println('D.' + question.getAns4());
         System.out.println('Please enter your choose:');
         String choose = sc.nextLine();
         switch (choose) {
             case 'A':
                 answer = question.getAns1();
                 break;
             case 'a':
                 answer = question.getAns1();
                 break;
             case 'B':
                 answer = question.getAns2();
                 break;
             case 'b':
                 answer = question.getAns2();
                 break;
             case 'C':
                 answer = question.getAns3();
                 break;
             case 'c':
                 answer = question.getAns3();
                 break;
             case 'D':
                 answer = question.getAns4();
                 break;
             case 'd':
                 answer = question.getAns4();
                 break;
             default:
                 System.out.println('No choose!');
                 answer = '';
                 break;
         }
         if (question.getAnswer().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;
    

    }

}

学生考试系统 - 在线考试平台 - 学生注册登录

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

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