Java题目答题系统

import java.util.Scanner;

/**
 * @author shkstart
 * @create 2023-10-27 13:39
 */
public class ExamTest {
    public static Scanner scanner=new Scanner(System.in);
    public static void main(String[] args) {
        int score=0;
    String question="在JAVA中,下列哪些说法是正确的()";
    String []option=new String[4];
    option[0]="JAVA源文件的扩展名为.java";
    option[1]="写好的JAVA源文件可以直接运行";
    option[2]="编写的源程序不用编译就能直接运行";
    option[3]="程序员可以读懂扩展名为.class的文件";
    //以上就是设置题目
    
    score+=questionnaire(question,"A","1",option);
    question="下列标识符那个是合法的";
    option[0]="class";
    option[1]="_name";
    option[2]="123";
    option[3]="$abc";

    score+=questionnaire(question,"B","2",option);

    question="说法正确的是";
        option[0]="Java程序的源文件名与主类的名称相同,后缀可以是.java或.txt";
        option[1] ="JDK的编译命令是java";
        option[2] ="一个java源文件编译后可能产生多个class文件";
        option[3] ="在命令行编译好的字节码文件,秩序在命令行键入文件名称即可";
    score+=questionnaire(question, "C", "3", option);
    question="下面哪个关键字用于定义一个类";
    option[0]="class";
    option[1]="void";
    option[2]="new";
    option[3]="public";
   score+=questionnaire(question, "A", "4", option);



        question="下面哪个关键字用于定义一个方法";
        option[0]="class";
        option[1]="void";
        option[2]="new";
        option[3]="public";
        score+=questionnaire(question, "B", "5", option);

        question="下面哪个关键字用于指定一个方法或变量可以被其他类访问";
        option[0]="class";
        option[1]="void";
        option[2]="new";
        option[3]="public";
        score+=questionnaire(question, "D", "6", option);

        question="下面哪个关键字用于创建一个方法的返回值";
        option[0]="class";
        option[1]="void";
        option[2]="return";
        option[3]="public";
        score+=questionnaire(question, "C", "7", option);

        question="下面哪个关键字用于退出整个循环";
        option[0]="break";
        option[1]="void";
        option[2]="new";
        option[3]="public";
        score+=questionnaire(question, "A", "8", option);

        question="下面哪个关键字用于定义一个类";
        option[0]="break";
        option[1]="void";
        option[2]="new";
        option[3]="continue";
        score+=questionnaire(question, "D", "9", option);

        question="下面哪个关键字用于声明一个静态方法或变量";
        option[0]="void";
        option[1]="switch";
        option[2]="static";
        option[3]="final";
        score+=questionnaire(question, "C", "10", option);

        question="Java程序必须从哪个方法开始执行";
        option[0]="main方法";
        option[1]="start方法";
        option[2]="run方法";
        option[3]="execute方法";
        score+=questionnaire(question, "A", "11", option);

        question="下面哪个关键字用于退出整个程序?";
        option[0]="class";
        option[1]="void";
        option[2]="int";
        option[3]="exit";
        score+=questionnaire(question, "D", "12", option);

        question="程序System.out.println(\"1 + 1 =\" + 1 + 1) ;的输出结果是()";
        option[0]="1";
        option[1]="1 + 1 = 2";
        option[2]="1 + 1 = 11";
        option[3]="2";
        score+=questionnaire(question, "C", "13", option);

        question="执行下面的语句后,a、b、c的值分别是。()\n" +
                "\n" +
                "int a = 2 ;\n" +
                "\n" +
                "int b = (a++) * 3 ;\n" +
                "\n" +
                "int c = (++a) * 3 ;";
        option[0]="2,6,6";
        option[1]="4,9,9";
        option[2]="4,6,12";
        option[3]="3,9,9";
        score+=questionnaire(question, "C", "14", option);

        question="以下的能正确表示Java语言中的一个整型常量。()";
        option[0]="35d";
        option[1]="-20";
        option[2]="1,234";
        option[3]="\"1234\"";
        score+=questionnaire(question, "B", "15", option);

        question="下列代码运行的结果是()\n" +
                "public static void main(String[] args) {\n" +
                "int x = 4;\n" +
                "int y = 5;\n" +
                "if(x++>4 & ++y>5) {\n" +
                "x++;\n" +
                "}\n" +
                "System.out.println(\"x=\" + x + \",y=\" + y);\n" +
                "}";
        option[0]="x=4,y=5";
        option[1]="x=4,y=6";
        option[2]="x=5,y=6";
        option[3]="x=6,y=6";
        score+=questionnaire(question, "C", "16", option);

        question="下列关于JDK、JRE和JVM的描述。哪项正确";
        option[0]="JDK中包含了JRE,JVM中包含了JRE";
        option[1]="JRE中包含了JDK,JDK中包含了JVM";
        option[2]="JRE中包含了JDK,JVM中包含了JRE";
        option[3]="JDK中包含了JRE,JRE中包含了JVM";
        score+=questionnaire(question, "D", "17", option);

        question="以下关于支持Java运行平台的叙述,哪项错误";
        option[0]="Java可在Solaris平台上运行";
        option[1]="Java可在Windows平台上运行";
        option[2]="Java语言与平台无关。Java程序的运行结果依赖于操作系统";
        option[3]="Java语言与平台无关。Java程序的运行结果与操作系统无关";
        score+=questionnaire(question, "C", "18", option);

        question="下列哪项不属于Java语言的基本数据类型";
        option[0]="int";
        option[1]="String";
        option[2]="double";
        option[3]="char";
        score+=questionnaire(question, "B", "19", option);

        question="表达式:1 - 2 / 5 + 2 * 5的结果是哪项";
        option[0]="10.6";
        option[1]="9.8";
        option[2]="9";
        option[3]="11";
        score+=questionnaire(question, "D", "20", option);

        System.out.println("你的得分是"+score);
    }

    public static int questionnaire(String question,String answer,String no,String[] option)
    {
        System.out.println(no+":"+question);
        char op='A';//设置答案顺序
        for(int i=0;i<option.length;i++)
        {
            System.out.println(op++ +"."+ option[i]);
        }
        System.out.println("your Answer?");

        String yourAnswer=scanner.next();
       while (!judge(yourAnswer))//如果输入错误就一直循环输入
       {
           try {

               throw new MyException("输入错误,请重新输入");
           }catch (MyException e){
               System.out.println(e.getMessage());
           }
           yourAnswer=scanner.next();
       }
        if(yourAnswer.equalsIgnoreCase(answer))
        {
            return 10;//回答正确返回10分
        }
   return 0;
    }

    
    //该方法用于判断输入是否正确
    public static boolean judge(String  answer)
    {
        if(answer.equalsIgnoreCase("A")||answer.equalsIgnoreCase("B")||answer.equalsIgnoreCase("C")||answer.equalsIgnoreCase("D"))
            return true;
        else return false;
    }
}

异常类

/**
 * @author shkstart
 * @create 2023-10-26 11:26
 */
public class MyException extends NumberFormatException{
    private static final long serialVersionUID = 5162710183389025692L;//随机写一个UID号

    public MyException() {
    super();
    }
    public MyException(String s)
    {
        super(s);
    }


}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值