• 软件工程个人作业01


    题目:写一个能自动生成三十道小学四则运算题目的 “软件”,要求:除了整数以外,还要支持真分数的四则运算(需要验证结果的正确性)、题目避免重复、可定制出题的数量。

    设计思想:利用循环控制生成题数;1 + (int) ( Math.random() * 100 )产生1-100的随机数;运算符为产生四个随机数分别代表加减乘除;整数,产生两个随机数并用运算符连接形成一个字符串;真分数,产生四个随机数并判断分子小于分母,用运算符连接形成一个字符串并输出。

    源代码:

     1 import java.util.Scanner;
     2 
     3 public class Szys {
     4 
     5     public static void main(String[] args) {
     6     
     7         System.out.println("请输入要生成的题数:");
     8         Scanner N = new Scanner(System.in);
     9         int n=N.nextInt();
    10         System.out.println("请输入出题的类型:(1.整数 2.真分数)");
    11         Scanner N1 = new Scanner(System.in);
    12         int n1=N1.nextInt();
    13         
    14         if(n1==1)  zheng(n);
    15         else if(n1==2)  zhenfs(n);
    16         else System.out.println("输入错误!");
    17     }
    18     
    19     public static int random(int v)
    20     {
    21         int value=1 + (int) ( Math.random() * v );
    22         return value;
    23     }
    24     public static void zheng(int n)
    25     {
    26         int value1,ys,value2;
    27         String output = "",ys1;
    28         
    29         for ( int i = 0; i < n; i++ ) 
    30         {
    31            value1 = random(100);
    32            value2 = random(100);
    33            ys = random(4);
    34            
    35            if(ys==1) ys1="+";
    36            else if(ys==2) ys1="-";
    37            else if(ys==3) ys1="*";
    38            else ys1="/";
    39            output += value1 + " "+ys1 +" "+ value2+"="+"
    ";
    40         }
    41           System.out.println(output);
    42     }
    43     public static void zhenfs(int n)
    44     {
    45         int value1,value2,value3,value4,ys;
    46         String output = "",ys1;
    47         
    48         for ( int i = 0; i < n; ) 
    49         {
    50            value1 = random(100);
    51            value2 = random(100);
    52            value3 = random(100);
    53            value4 = random(100);
    54            ys = random(4);
    55            
    56            if(value1 < value2 && value3 < value4)
    57            {
    58                if(ys==1) ys1="+";
    59                else if(ys==2) ys1="-";
    60                else if(ys==3) ys1="*";
    61                else ys1="/";
    62            
    63                output += value1+"/"+value2+" "+ys1+" "+value3+"/"+value2+"="+"
    ";
    64                i++;
    65            }
    66         }
    67           System.out.println(output);
    68     }
    69 }

    实验结果截图:

    上课按时完成。

  • 相关阅读:
    调用其他类的方法
    CString中 format、trimLeft和trimright、trim 和FindOneOf用法
    GetAsyncKeyState()& 0x8000
    C++打开剪切板,获取剪切板数据
    CString比较不区分大小写
    C++ string中find() 用法
    CString数组和CStringArray
    nested exception is java.io.FileNotFoundException: Could not open ServletContext resource
    SQLPlus获取oracle表操作SQL
    XShell实现服务器端文件的上传下载
  • 原文地址:https://www.cnblogs.com/qkmn/p/6500898.html
Copyright © 2020-2023  润新知