zoukankan      html  css  js  c++  java
  • 考试系统

    设计实现一个小学生数学考试系统,完成随机出题(简单的四则运算),学生答题,自动判分的功能。

     1 package experiment;
     2 
     3 import java.util.Scanner;
     4 
     5 
     6 public class Arithmetic {
     7     public static void main(String args[]) {
     8         begin_test();
     9     }
    10     //随机产生数字
    11     public static double r_random(int min, int max) {
    12         double ii;
    13         ii = (double)(min + Math.random() * (max - min + 1));
    14         return ii;
    15     }
    16     //随机产生符号
    17     public static char make_sym()
    18     {
    19         int ii;
    20         ii = (int)(Math.random() * 3);
    21         if(ii == 0)
    22             return '+';
    23         else if(ii == 1)
    24             return '-';
    25         else if(ii == 2)
    26             return '*';
    27         else
    28             return '/';
    29     }
    30     //随机产生式子
    31     public static int make_formula(int min, int max)
    32     {
    33         int ii, ij;
    34         char operator;
    35         
    36         
    37         ii = (int)r_random(min, max);
    38         ij = (int)r_random(min, max);
    39         
    40         operator = make_sym();
    41         System.out.println("随机产生的四则运算为:" + ii + " " +  operator + " " +  ij + " = ?");
    42         if(operator == '+')
    43             return (ii + ij);
    44         else if(operator == '-')
    45             return (ii - ij);
    46         else if(operator == '*')
    47             return (ii * ij);
    48         else
    49         {
    50             return Math.round(ii / ij);
    51         }
    52     }
    53     
    54     //判断结果是否正确
    55     public static boolean test( int min, int max)
    56     {
    57         double answer, r_answer;
    58         System.out.println("请输入答案(注意除法时答案四舍五入取整):");
    59         Scanner sc = new Scanner(System.in);
    60         answer = make_formula(min, max);
    61         r_answer = sc.nextDouble();
    62         if(answer == r_answer) {
    63             System.out.println("正确!");
    64             return true;
    65         }
    66         else {
    67             System.out.println("错误!");
    68             return false;
    69         }
    70     }
    71     
    72     //计分
    73     public static double score(int num, int min, int max) {
    74         double sum = 0;
    75         double one_score = (float)(100 / num);
    76         for(int i = 0; i < num; i++) {
    77             if(test(min, max)) {
    78                 sum += one_score;
    79             }
    80             else {
    81                 continue;
    82             }
    83         }
    84         return sum;
    85     }
    86     //考试开始
    87     public static void begin_test() {
    88         int num, min, max;
    89         double sum;
    90         Scanner sc = new Scanner(System.in);
    91         System.out.println("请输入需要产生的试题数:");
    92         num = sc.nextInt();
    93         System.out.println("请输入产生四则运算的范围(最小值和最大值)");
    94         min = sc.nextInt();
    95         max = sc.nextInt();
    96         sum = score(num, min, max);
    97         System.out.println("考试结束,最后得分为:" + sum);
    98     }
    99 }
  • 相关阅读:
    ubuntu 安装eclipse
    java中的ArrayList 、List、LinkedList、Collection关系详解
    JERSEY中文翻译(第三章、模块和依赖)
    JERSEY中文翻译(第一章、Getting Started、2.2)
    JERSEY中文翻译(第三章、JAX-RS Application, Resources and Sub-Resources)
    JERSEY中文翻译(第一章、Getting Started、1.1.7)
    创建一个入门的JAVA WEB站点(REST JERSEY)
    一个JAVA的WEB服务器事例
    一个简单的C/S事例——JAVA-Socket
    FILTER——JAVA
  • 原文地址:https://www.cnblogs.com/CZT-TS/p/7588164.html
Copyright © 2011-2022 走看看