⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 examadmin.java~22~

📁 java在线考试例子代码
💻 JAVA~22~
字号:
package testovernet;

import java.io.*;

public class ExamAdmin {

    protected final String NOTEXAMSTUDENT =
            "This Student has no right to take the test!";

    protected TestPaperAdmin paperAdmin;
    protected DatabaseAdmin dataAdmin;
    protected ScoreCaculator scoreCaculator;
    protected Student eligibleStudent;
    protected Question[] paperFromTestPaperAdmin;
    protected Question[] TestPaperAfterExamFromStudent;
    protected double studentScore;

    public ExamAdmin() {

        paperAdmin = new TestPaperAdmin();
        dataAdmin = new DatabaseAdmin();
        scoreCaculator= new ScoreCaculator();
    }

    public Student getEligibleStudent() {

        return eligibleStudent;
    }

    public Question[] getPaperFromTestPaperAdmin(String questionType, int num) {

        paperFromTestPaperAdmin = new Question[num];
        paperFromTestPaperAdmin = paperAdmin.getTestPaper(questionType, num);

        return paperFromTestPaperAdmin;

    }

    public boolean isStudentInDatabase(int testNo, String name) {

        boolean isStudent = dataAdmin.queryStudent(testNo, name);

        if (isStudent == false) {
            System.out.println(NOTEXAMSTUDENT);
        }

        else {
            System.out.println("This Student is eligible to take the test!");
            System.out.println("This Detail Infomation of this Student is: ");

            eligibleStudent = dataAdmin.getfindStudent();
            eligibleStudent.printStudentInfo();
          //  eligibleStudent = dataAdmin.getfindStudent();
        }
        return isStudent;
    }

    public void sendPaperToStudent(String quesType, int quesAmount,
                                   ObjectOutputStream objOutput) {

        Question[] testPaper = new Question[quesAmount];


        testPaper =getPaperFromTestPaperAdmin(quesType, quesAmount);

        for (int i = 0; i < quesAmount; i++) {

            testPaper[i].PrintQuestion();

            try {
                objOutput.writeObject(testPaper[i]);
            }
            catch (Exception e) {
                e.printStackTrace();
            }
        }

    }

    public void getTestPaperAfterExamFromStudent
            (int quesAmount,ObjectInputStream objInput) {

        TestPaperAfterExamFromStudent = new Question[quesAmount];

        for (int i = 0; i < quesAmount; i++) {

            try {

                TestPaperAfterExamFromStudent[i] = (Question) objInput.readObject();


                System.out.println(TestPaperAfterExamFromStudent[i].studentAnswer);
                System.out.println(paperFromTestPaperAdmin[i].standardAnswer);
            }
            catch (Exception e) {
                e.printStackTrace();
            }
        }



    }

    public double caculatorStudentScore(int quesAmount) {



        studentScore=scoreCaculator.scoreCaculate(quesAmount,paperFromTestPaperAdmin,
                                     TestPaperAfterExamFromStudent);

        System.out.println("This student's score is "+studentScore);

        return studentScore;

    }

    public void recordStudentScoreToDatabase() {

        int testNum=eligibleStudent.testNum;


    }



}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -