zoukankan      html  css  js  c++  java
  • 四则运算1

    四则运算1

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

    二、程序设计思想:

    通过产生随机数生成百以内的int类型数据,判断是否重复:定义一个String类型数组,将生成的算式保存,每次输出之前先验证是否存在,如果存在则不输出

    三、源程序代码:

      1 package demo;

      2 

      3 import java.util.*;

      4 

      5 public class Random {

      6     @SuppressWarnings("resource")

      7     public static void main(String args[])

      8     {

      9         Scanner sc = new Scanner(System.in);

     10         int num;

     11         System.out.println("请输入需要生成的个数。");

     12         num = sc.nextInt();

     13         String[] s = new String[100];//保存已有的运算式

     14         int ss = 0;//运算式个数计数

     15         char[] ch = new char[4];

     16         ch[0] = '+';

     17         ch[1] = '-';

     18         ch[2] = '*';

     19         ch[3] = '/';

     20         int a,b,a1,b1;

     21         double A,B,A1,B1;

     22         int k;

     23         String str;

     24         int flagA = 0,flagB = 0;//判断是否用真分数。

     25         for(int i = 0;i < num;i ++)

     26         {

     27             flagA = SuiJileixing();

     28             flagB = SuiJileixing();

     29             if(flagA == 1 && flagB == 1)

     30             {

     31                 a = SuiJi1();

     32                 b = SuiJi1();

     33                 k = SuiJiyunsuanfu();

     34                 str = a + " " + ch[k] + " " + b + " = ";

     35                 if(Check(s,str,ss) != 1)

     36                 {

     37                     s[ss] = str;

     38                     System.out.print(s[ss]);

     39                     A = (double)a;

     40                     B = (double)b;

     41                     show(A,B,k);

     42                     ss ++;

     43                 }

     44             }

     45             else if(flagA == 1 && flagB == 0)

     46             {

     47                 a = SuiJi1();

     48                 b = SuiJi1();

     49                 b1 = SuiJi1() + 1;

     50                 if(b < b1)

     51                 {

     52                     b = b;

     53                 }

     54                 else 

     55                 {

     56                     b1 = b1 + b;

     57                 }

     58                 k = SuiJiyunsuanfu();

     59                 str = a + " " + ch[k] + " (" + b + "/" + b1 + ") = ";

     60                 if(Check(s,str,ss) != 1)

     61                 {

     62                     s[ss] = str;

     63                     System.out.print(s[ss]);

     64                     A = (double)a;

     65                     B = (double)b;

     66                     B1 = (double)b1;

     67                     show(A,B/B1,k);

     68                     ss ++;

     69                 }

     70             }

     71             else if(flagA == 0 && flagB == 1)

     72             {

     73                 a = SuiJi1();

     74                 a1 = SuiJi1() + 1;

     75                 b = SuiJi1();

     76                 if(a > a1)

     77                 {

     78                     a1 = a + a1;

     79                 }

     80                 k = SuiJiyunsuanfu();

     81                 str = "(" + a + "/" + a1 + ") " + ch[k] + " " + b + " = ";

     82                 if(Check(s,str,ss) != 1)

     83                 {

     84                     s[ss] = str;

     85                     System.out.print(s[ss]);

     86                     A = (double)a;

     87                     A1 = (double)a1;

     88                     B = (double)b;

     89                     show(A/A1,B,k);

     90                     ss ++;

     91                 }

     92             }

     93             else

     94             {

     95                 a = SuiJi1();

     96                 a1 = SuiJi1() + 1;

     97                 b = SuiJi1();

     98                 b1 = SuiJi1() + 1;

     99                 if(a > a1)

    100                 {

    101                     a1 = a + a1;

    102                 }

    103                 if(b > b1)

    104                 {

    105                     b1 = b + b1;

    106                 }

    107                 k = SuiJiyunsuanfu();

    108                 str =  "(" + a + "/" + a1 + ") " + ch[k] + " " + b + "/" + b1 + " = ";

    109                 if(Check(s,str,ss) != 1)

    110                 {

    111                     s[ss] = str;

    112                     System.out.print(s[ss]);

    113                     A = (double)a;

    114                     A1 = (double)a1;

    115                     B = (double)b;

    116                     B1 = (double)b1;

    117                     show(a/a1,b/b1,k);

    118                     ss ++;

    119                 }

    120             }

    121 

    122             

    123             

    124         }

    125         

    126     }

    127     

    128     public static int SuiJi1()

    129     {

    130         int a;

    131         a = (int)(Math.random()*100);

    132         return a;

    133     }

    134     public static int SuiJiyunsuanfu()

    135     {

    136         int a;

    137         a = (int) (Math.random()*4);

    138         return a;

    139     }

    140     public static int Check(String s[],String str,int ss)

    141     {

    142         int qqq = 0;

    143         for(int i = 0;i < ss;i ++)

    144         {

    145             if(str.equals(s[ss]))

    146             {

    147                 qqq = 1;

    148                 break;

    149             }

    150         }

    151         return qqq;

    152     }

    153     public static int SuiJileixing()

    154     {

    155         int flag = (int)(Math.random()*2);

    156         return flag;

    157     }

    158     public static void show(double a,double b,int k)

    159     {

    160         if(k == 0)

    161         {

    162             System.out.println(a + b);

    163         }

    164         if(k == 1)

    165         {

    166             System.out.println(a - b);

    167         }

    168         if(k == 2)

    169         {

    170             System.out.println(a * b);

    171         }

    172         if(k == 3)

    173         {

    174             System.out.println(a / b);

    175         }

    176     }

    177 }

    四、运行结果截图: 

     

  • 相关阅读:
    Python3连接MySQL
    jQuery
    Python之路--协程
    java面向对象练习题
    java基础语法4--封装,继承,多态
    java基础编程题
    java基础语法——方法,static关键字
    java基础语法3
    java基础语法2
    java基础语法1
  • 原文地址:https://www.cnblogs.com/fychen0302/p/7008923.html
Copyright © 2011-2022 走看看