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); } }