Student Service Implementation for Exam System
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<ExamQuestion> 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<ExamQuestion> 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;
}
}
原文地址: https://www.cveoy.top/t/topic/f0UX 著作权归作者所有。请勿转载和采集!