【php开源系统源码】【开源文档源码】【iview 项目源码】java考试系统源码_java考试代码

时间:2024-11-14 14:24:54 来源:rez制作源码 分类:娱乐

1.JAVA课程设计 彩票号码产生器
2.学生考试管理系统,考试考试JAva源代码
3.Java认证考试科目设置
4.推荐一些高质量的系统开源考试系统

java考试系统源码_java考试代码

JAVA课程设计 彩票号码产生器

       æˆ‘这有个超级大乐透的代码在控制台输出的 还没有统计奖项概率 希望可以帮到你 :1.先说下思路 a.声明2个数组和2个变量数组分别放前区的个数和后区的个数,变量分别为这两个数组的长度 b.首先随机获得前区的5个号码:Random .nextInt(前区长度的变量) 获得随机数,找到第一个数组中下标为这个随机数的元素,取出放在变量中. 这   儿可以判断格式 的.可以用正则表达式判断是否为各位数,如果是的话就补全0.然后移除数组中这个元素.当然存储数组的变量要减去1的然后重复  以上的4次这样就获得了1-中5个不重复的数字. c.同上. 2.附代码SuperJoyful.javaimport java.util.ArrayList;

       import java.util.Arrays;

       import java.util.List;

       import java.util.Random;

       import java.util.regex.Matcher;

       import java.util.regex.Pattern;/

**

        * 以下是模拟一个超级大乐透随机选号功能,严格按概率生成

        * @author Jack

       

*

        */

       public class SuperJoyful {

        // 声明一个List用于存放前区号码

        private List<Integer> objFrontList = new ArrayList<Integer>();

        // 声明一个List用于存放后区号码

        private List<Integer> objBackList = new ArrayList<Integer>();

        // 声明一个正则表达式对象,用于匹配是否是一位数字,用于输出时验证

        Pattern objP = Pattern.compile("\\d");

        // 所要操作的字符串

        Matcher objM = null;

        String[] Front = new String[5];

        String[] Back = new String[2]; // 初始化摇奖号码

        public void init() {

        for (int i = 1; i <= ; i++) {

        objFrontList.add(i);

        }

        for (int i = 1; i <= ; i++) {

        objBackList.add(i);

        }

        } // 开始摇奖

        public void beginLottery() {

        Random objRandom = new Random();

        int nFrontCount = ; // 前区号码总数

        int nBackCount = ; // 后区号码总数 // 摇奖前先清空LIST,再初始化

        objFrontList.clear();

        //System.out.println(objFrontList);

        objBackList.clear();

        //System.out.println(objBackList);

        this.init();

        /

**

        * 产生5个前区号码

        */

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

        //System.out.println("nFrontCount:"+nFrontCount);

        // 初始时有个前区号,随机产生一个索引

        int nIndex = objRandom.nextInt(nFrontCount);

        // 将选出的号码暂时存放在变量中,带正则表达式验证

        int nTemp = objFrontList.get(nIndex);

        String strTemp = new Integer(nTemp).toString();

        // 将获得的号码与正则表达式匹配

        objM = objP.matcher(strTemp);

        boolean flag = objM.matches();

        // 如果是一位数,则在前面补零

        if (flag) {

        Front[i] = ("0" + strTemp + " ");

        } else {

        Front[i] = (strTemp + " ");

        }

        // 删除LIST中该索引处的号码,因为选出一个就不再放回

        objFrontList.remove(nIndex);

        // 号码总数减少一个

        nFrontCount--;

        }

        Arrays.sort(Front);

        for (int n = 0; n < Front.length; n++) {

        System.out.print(Front[n] + "\t");

        }

        System.out.print("+ ");

        /

**

        * 产生2个后区号码

        */

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

        //System.out.println("nBackCount:"+nBackCount);

        // 初始时有个后区号,随机产生一个索引

        int nIndex = objRandom.nextInt(nBackCount);

        // 将选出的号码暂时存放在变量中,带正则表达式验证

        int nTemp = objBackList.get(nIndex);

        String strTemp = new Integer(nTemp).toString();

        // 将获得的号码与正则表达式匹配

        objM = objP.matcher(strTemp);

        boolean flag = objM.matches();

        // 如果是一位数,则在前面补零

        if (flag) {

        Back[i] = ("0" + strTemp + " ");

        } else {

        Back[i] = (strTemp + " ");

        }

        // 删除LIST中该索引处的号码,因为选出一个就不再放回

        objBackList.remove(nIndex);

       // for(int n = 0; n<objBackList.size();n++){

       // System.out.println("objBackList:"+objBackList.get( n ));

       // }

        // 号码总数减少一个

        nBackCount--;

        }

        Arrays.sort(Back);

        for (int n = 0; n < Back.length; n++) {

        System.out.print(Back[n] + "\t");

        }

        // 产生一注后回车

        System.out.println("");

        } // 按要求输出多少注彩票

        public void outPutLottery(int vnCount) {

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

        this.beginLottery();

        }

        } /

**

        * @param args

        */

        public static void main(String[] args) {

        SuperJoyful objSJ = new SuperJoyful();

        EnterConsole objEC = new EnterConsole();

        // 声明一个正则表达式对象,用于匹配是否是数字

        Pattern objP = Pattern.compile("\\d{ 1,}");

        // 所要操作的字符串

        Matcher objM = null;

        // 接收控制台输入

        String objTemp = (String) objEC.printConsole();

        //String strTemp = (String)objTemp;

        objM = objP.matcher(objTemp);

        boolean flag = objM.matches();

        int nTemp = 0;

        if (flag) {

        nTemp = new Integer(objTemp);

        } else {

        System.out.println("对不起,只能输入数字!");

        }

        objSJ.outPutLottery(nTemp);

        }

       }EnterConsole.javaimport java.io.BufferedReader;

       import java.io.IOException;

       import java.io.InputStreamReader;

       public class EnterConsole

       {

        public Object printConsole(){

        System.out.print("请输入你要随机选取多少注,确认回车即可:");

        BufferedReader objBR = new BufferedReader(new InputStreamReader(System.in));

        String strValue = null;

        try

        {

        strValue = (String)objBR.readLine();

        }

        catch ( IOException e )

        {

        // TODO Auto-generated catch block

        e.printStackTrace();

        }

        return strValue;

        }

       }

学生考试管理系统,JAva源代码

       //主类EnglishTest——

       import java.awt.*;

       import java.awt.event.*;

       import javax.swing.*;

       public class EnglishTest extends JFrame

       {

        TestArea testPanel=null;

        Container con=null;

        public EnglishTest()

        {

        super("模拟考试");

        testPanel=new TestArea();

        con=getContentPane();

        con.add(testPanel,源码BorderLayout.CENTER);

        addWindowListener(new WindowAdapter()

        { public void windowClosing(WindowEvent e)

        { System.exit(0);

        }

        });

        setVisible(true);

        setBounds(,,,);

        con.validate();

        validate();

        }

        public static void main(String args[])

        {

        new EnglishTest();

        }

       }

       //读取试题 ReadTestquestion

       import java.io.*;

       import java.util.*;

       public class ReadTestquestion

       { String filename="",

        correctAnswer="",

        testContent="" ,

        selection="" ;

        int score=0;

        long time=0;

        boolean 完成考试=false;

        File f=null;

        FileReader in=null;

        BufferedReader 读取=null;

        public void setFilename(String name)

        { filename=name;

       score=0;

        selection="";

        try {

        if(in!=null&&读取!=null)

        {

        in.close();

        读取.close();

        }

        f=new File(filename);

        in=new FileReader(f);

        读取=new BufferedReader(in);

        correctAnswer=(读取.readLine()).trim();

        String temp=(读取.readLine()).trim() ;

        StringTokenizer token=new StringTokenizer(temp,":");

        int hour=Integer.parseInt(token.nextToken()) ;

        int minute=Integer.parseInt(token.nextToken());

        int second=Integer.parseInt(token.nextToken());

        time=*(second+minute*+hour**);

        }

        catch(Exception e)

        {

        testContent="没有选择试题";

        }

        }

        public String getFilename()

        {

        return filename;

        }

        public long getTime()

        {

        return time;

        }

        public void set完成考试(boolean b)

        {

        完成考试=b;

        }

        public boolean get完成考试()

        {

        return 完成考试;

        }

        public String getTestContent()

        { try {

        String s=null;

        StringBuffer temp=new StringBuffer();

        if(读取!=null)

        {

        while((s=读取.readLine())!=null)

        {

        if(s.startsWith("**"))

        break;

        temp.append("\n"+s);

        if(s.startsWith("endend"))

        {

        in.close();

        读取.close();

        完成考试=true;

        }

        }

        testContent=new String(temp);

        }

        else

        {

        testContent=new String("没有选择试题");

        }

        }

        catch(Exception e)

        {

        testContent="试题内容为空,考试结束!!代码";

        }

        return testContent;

        }

        public void setSelection(String s)

        {

        selection=selection+s;

        }

        public int getScore()

        { score=0;

        int length1=selection.length();

        int length2=correctAnswer.length();

        int min=Math.min(length1,考试考试length2);

        for(int i=0;i<min;i++)

        { try{

        if(selection.charAt(i)==correctAnswer.charAt(i))

        score++;

        }

        catch(StringIndexOutOfBoundsException e)

        {

        i=0;

        }

        }

        return score;

        }: -8-

        public String getMessages()

        {

        int length1=selection.length();

        int length2=correctAnswer.length();

        int length=Math.min(length1,length2);

        String message="正确答案:"+correctAnswer.substring(0,length)+"\n"+

        "你的回答:"+selection+"\n";

        return message;

        }

       }

       //考试区域TestArea

       import java.awt.*;

       import javax.swing.*;

       import java.awt.event.*;

       import java.io.*;

       class FileName implements FilenameFilter

       {

        String str=null;

        FileName (String s)

        {

        str="."+s;

        }

        public boolean accept(File dir,String name)

        {

        return name.endsWith(str);

        }

       }

       public class TestArea extends JPanel implements ActionListener,ItemListener,Runnable

       {

        Choice list=null;

        JTextArea 试题显示区=null,消息区=null;

        JCheckBox box[];

        JButton 提交该题答案,读取下一题,查看分数;

        ReadTestquestion 读取试题=null;

        JLabel welcomeLabel=null;

        Thread countTime=null;

        long time=0;

        JTextField timeShow=null;

        boolean 是否关闭计时器=false,

        是否暂停计时=false;

        JButton 暂停或继续计时=null;

        public TestArea()

        {

        list= new Choice();

        String 当前目录=System.getProperty("user.dir");

        File dir=new File(当前目录);

        FileName fileTxt=new FileName("txt");

        String fileName[]=dir.list(fileTxt);

        for(int i=0;i<fileName.length;i++)

        {

        list.add(fileName[i]);

        }

        试题显示区=new JTextArea(,);

        试题显示区.setLineWrap(true);

        试题显示区.setWrapStyleWord(true);

        试题显示区.setFont(new Font("TimesRoman",Font.PLAIN,));

        试题显示区.setForeground(Color.blue);

        消息区=new JTextArea(8,8);

        消息区.setForeground(Color.blue);

        消息区.setLineWrap(true);

        消息区.setWrapStyleWord(true);

        countTime=new Thread(this);

        String s[]={ "A","B","C","D"};

        box=new JCheckBox[4];

        for(int i=0;i<4;i++)

        {

        box[i]=new JCheckBox(s[i]);

        }

        暂停或继续计时=new JButton("暂停计时");

        暂停或继续计时.addActionListener(this);

        提交该题答案=new JButton("提交该题答案");

        读取下一题=new JButton("读取第一题");

        读取下一题.setForeground(Color.blue);

        提交该题答案.setForeground(Color.blue);

        查看分数=new JButton("查看分数");

        查看分数.setForeground(Color.blue);

        提交该题答案.setEnabled(false);

        提交该题答案.addActionListener(this);

        读取下一题.addActionListener(this);

        查看分数.addActionListener(this);

        list.addItemListener(this);

        读取试题=new ReadTestquestion();

        JPanel pAddbox=new JPanel();

        for(int i=0;i<4;i++)

        {

        pAddbox.add(box[i]);

        }

        Box boxH1=Box.createVerticalBox(),

        boxH2=Box.createVerticalBox(),

        baseBox=Box.createHorizontalBox();

        boxH1.add(new JLabel("选择试题文件"));

        boxH1.add(list);

        boxH1.add(new JScrollPane(消息区));

        boxH1.add(查看分数);

        timeShow=new JTextField();

        timeShow.setHorizontalAlignment(SwingConstants.RIGHT);

        timeShow.setEditable(false);

        JPanel p1=new JPanel();

        p1.add(new JLabel("剩余时间:"));

        p1.add(timeShow);

        p1.add(暂停或继续计时);

        boxH1.add(p1);

        boxH2.add(new JLabel("试题内容:"));

        boxH2.add(new JScrollPane(试题显示区));

        JPanel p2=new JPanel();

        p2.add(pAddbox);

        p2.add(提交该题答案);

        p2.add(读取下一题);

        boxH2.add(p2);

        baseBox.add(boxH1);

        baseBox.add(boxH2);

        setLayout(new BorderLayout());

        add(baseBox,BorderLayout.CENTER);

        welcomeLabel=new JLabel("欢迎考试,提高英语水平",JLabel.CENTER);

        welcomeLabel.setFont(new Font("隶书",Font.PLAIN,));

        welcomeLabel.setForeground(Color.blue);

        add(welcomeLabel,BorderLayout.NORTH);

        }

        public void itemStateChanged(ItemEvent e)

        {

        timeShow.setText(null);

        是否关闭计时器=false;

        是否暂停计时=false;

        暂停或继续计时.setText("暂停计时");

        String name=(String)list.getSelectedItem();

        读取试题.setFilename(name);

        读取试题.set完成考试(false);

        time=读取试题.getTime();

        if(countTime.isAlive())

        {

        是否关闭计时器=true;

        countTime.interrupt();

        }

        countTime=new Thread(this);

        消息区.setText(null);

        试题显示区.setText(null);

        读取下一题.setText("读取第一题");

        提交该题答案.setEnabled(false);

        读取下一题.setEnabled(true);

        welcomeLabel.setText("欢迎考试,你选择的试题:"+读取试题.getFilename());

        }

        public void actionPerformed(ActionEvent e)

        {

        if(e.getSource()==读取下一题)

        {

        读取下一题.setText("读取下一题");

        提交该题答案.setEnabled(true);

        String contentTest=读取试题.getTestContent();

        试题显示区.setText(contentTest);

        消息区.setText(null);

        读取下一题.setEnabled(false);

        try {

        countTime.start();

        }

        catch(Exception event)

        {

        }

        }

        if(e.getSource()==提交该题答案)

        {

        读取下一题.setEnabled(true);

        提交该题答案.setEnabled(false);

        String answer="?";

        for(int i=0;i<4;i++)

        {

        if(box[i].isSelected())

        {

        answer=box[i].getText();

        box[i].setSelected(false);

        break;

        }

        }

        读取试题.setSelection(answer);

        }

        if(e.getSource()==查看分数)

        {

        int score=读取试题.getScore();

        String messages=读取试题.getMessages();

        消息区.setText("分数:"+score+"\n"+messages);

        }

        if(e.getSource()==暂停或继续计时)

        {

        if(是否暂停计时==false)

        {

        暂停或继续计时.setText("继续计时");

        是否暂停计时=true;

        }

        else if(是否暂停计时==true)

        {

        暂停或继续计时.setText("暂停计时");

        是否暂停计时=false;

        countTime.interrupt();

        }

        }

        }

        public synchronized void run()

        {

        while(true)

        {

        if(time<=0)

        {

        是否关闭计时器=true;

        countTime.interrupt();

        提交该题答案.setEnabled(false);

        读取下一题.setEnabled(false);

        timeShow.setText("用时尽,考试结束");

        }

        else if(读取试题.get完成考试())

        {

        是否关闭计时器=true;

        timeShow.setText("考试效果:分数*剩余时间(秒)="+1.0*读取试题.getScore()*(time/));

        countTime.interrupt();

        提交该题答案.setEnabled(false);

        读取下一题.setEnabled(false);

        }

        else if(time>=1)

        {

        time=time-;

        long leftTime=time/;

        long leftHour=leftTime/;

        long leftMinute=(leftTime-leftHour*)/;

        long leftSecond=leftTime%;

        timeShow.setText(""+leftHour+"小时"+leftMinute+"分"+leftSecond+"秒");

        }

        try

        {

        Thread.sleep();

        }

        catch(InterruptedException ee)

        {

        if(是否关闭计时器==true)

        return ;

        }

        while(是否暂停计时==true)

        {

        try

        {

        wait();

        }

        catch(InterruptedException ee)

        {

        if(是否暂停计时==false)

        {

        notifyAll();

        }

        }

        }

        }

        }

       }

Java认证考试科目设置

       目前 Java 相关的认证有四个,分别是系统php开源系统源码 SCJP、SCWD、源码SCJD、代码SCAJ。考试考试这些认证考试旨在评估不同级别的系统 Java 技能。

       SCJP(Sun Certified Java Programmer)专为测试 Java 程序设计的源码观念和能力而设计。考试内容主要侧重于 Java 语法和 JDK 内容。代码考试包括 题复选及填充题,考试考试开源文档源码总时长为 2 小时。系统及格标准为答对 %。源码

       SCWD(Sun Certified Web Component Developer for J2EE Platform)的考试内容涵盖 Servlet 和 JSP,旨在评估在 J2EE 平台上的 Web 组件开发技能。考试包含 题复选及填充题,总时长为 2 小时。及格标准为答对 %。

       SCJD(Sun Certified Java Developer)评估 Java 软件开发的进阶技能。考试分为两个阶段,第一阶段是程序设计题,时间无限制,答对 % 以上即可进入第二阶段。iview 项目源码第二阶段是 5- 题简答题,总时长为 分钟。及格标准为答对 %。

       SCAJ(Sun Certified Enterprise Architect for J2EE)则测试了对 J2EE 架构的熟悉程度以及系统整合的能力。考试分为三个阶段,第一个阶段是 题复选题,总时长为 分钟,答对 % 以上方可进入下阶段。第二个阶段是系统设计专题,无时间限制,答对 % 以上方可进入下一阶段。第三个阶段是cppcheck源码编译四题申论题,应试时间 分钟。

推荐一些高质量的开源考试系统

       推荐一些高质量的开源考试系统,适合企业内部员工考试使用。以下是四款值得推荐的系统:

       第一款是学之思开源考试系统,推荐指数5星,累计star数高达+。此系统是码云最有价值开源项目之一,其文档齐全、提供了视频教程,持续维护更新,使用人数众多。它支持多种题型,类似cnzz源码包括选择题、多选题、判断题、填空题、解答题以及数学公式,同时具备PC端、小程序端,扩展性与部署方便性佳。界面设计友好,代码结构清晰,学生系统功能强大。

       第二款是探果(简称tamguo),推荐指数4星,累计star数+。这是一个基于Java开发的在线题库系统,追求高可用、可靠的设计目标。探果系统提供了在线访问、后台运营、会员中心、书籍中心等功能,以及一些基础的工具类包、核心业务包、书籍系统、会员中心、后台管理系统和爬虫程序。

       第三款是Exam++,推荐指数3星,累计star数+。这是国内首个开源考试系统,基于JAVA与MYSQL开发,稳定运行于Windows与Linux平台。系统能帮助用户快速创建试题和题库,发布试卷,组织考试,自动批改试卷。主要功能包括创建试题、发布试卷、组织考试、自动批改等功能。

       最后一款是硕果云,推荐指数3星,累计star数+。这是一个基于Spring Cloud搭建的新一代微服务教学管理平台,提供多租户、权限管理、在线考试、练习等多功能。硕果云分为前台网站和后台管理两部分,前台主要提供考试功能,后台提供基础管理、考试管理功能。系统提供了系统监控、考务管理、附件管理、个人管理等功能,包括监控服务、日志、服务、接口文档等,以及课程、考试、题库、成绩管理等。