首页 > 代码库 > 自动生成小学四则运算(简易)

自动生成小学四则运算(简易)

程序写了关于100以内的加减乘除运算和真分数的加减乘除运算,还有二元一次方程

运用了java.util.Random 进行随机数的实现

在打印真分数运算式子时技术分享不知道这样定义【当分子分母为0或相等时,跳过本次循环 循环数加一,也就是重新随机一个可以运算的式子出来】是否正确,在测试时出现了分子为0的情况,可能定义是错误的。

真分数的化简没有去实现,暂时没有时间,之后会补上

下面给出代码

语言:java

 1 /** 2 随机生成100以内加减乘除四则运算 二元一次方程 真分数运算 3 x +(*-/) y =? 4 x/y+(*-/) x/y =? 5 y=ax+b 6 */ 7 import java.util.Random; 8 class  Yunsuan 9 {10     public static void main(String[] args) 11     {12         shuchujjcc(5);13         shuchuzfs(3);14         System.out.println();15         shuchu2y1cfc(2);16     }17     public static void shuchujjcc(int n)18     {19         int i;20         char[] a={‘+‘,‘-‘,‘*‘,‘/‘};21         Random r1=new Random();22         System.out.println("完成下列加减乘除运算");23         for (i=0;i<n ;i++ )24         {25             System.out.print(r1.nextInt(101)+" "+a[r1.nextInt(4)]+" "+r1.nextInt(101)+" ="+"\t");26         }27     }28     public static void shuchuzfs(int n)29     {30         int i;31         char[] a={‘+‘,‘-‘,‘*‘,‘/‘};32         Random r1=new Random();33         Random r2=new Random();    34         System.out.println("完成下列真分数的加减乘除运算");35         for (i=0;i<n ;i++ )36         {37             int x1=r1.nextInt(100);38             int y1=r1.nextInt(101);39             int x2=r2.nextInt(101);40             int y2=r2.nextInt(101);41             //由于真分数 要保证分子小于分母 分为3个情况:1.分子小于分母 不变 2.分子大于分母 交换 3.分子或分母为0或相等 跳过本次循环 并加一次循环 42             if(x1<y1&&x2<y2)43             {44                 System.out.print(x1+"/"+y1+" "+a[r1.nextInt(4)]+" "+x2+"/"+y2+" ="+"\t\t");45             }46             else if(y1==0||y2==0||x1==0||x2==0||x1==y1||x2==y2)47             {48                 i--;49             }50             else if(x1<y1&&x2>y2)51             {52                 System.out.print(x1+"/"+y1+" "+a[r1.nextInt(4)]+" "+y2+"/"+x2+" ="+"\t\t");53             }54             else if(x1>y1&&x2<y2)55             {56                 System.out.print(y1+"/"+x1+" "+a[r1.nextInt(4)]+" "+x2+"/"+y2+" ="+"\t\t");57             }58             else59             {60                 System.out.print(y1+"/"+x1+" "+a[r1.nextInt(4)]+" "+y2+"/"+x2+" ="+"\t\t");61             }62         }63     }64     public static void shuchu2y1cfc(int n)65     {66         int i;67         Random r1=new Random();68         char[] a={‘+‘,‘-‘};69         System.out.println("完成下列二元一次方程");70         for (i=1;i<n+1 ;i++ )71         {72             System.out.println(i+"."+"y = "+r1.nextInt(101)+"x"+" "+a[r1.nextInt(2)]+" "+r1.nextInt(101));73             System.out.println("  "+"y = "+r1.nextInt(101)+"x"+" "+a[r1.nextInt(2)]+" "+r1.nextInt(101));74         }75     }76 }

运算结果如下:

技术分享

 

 结对编程确实可以加快写代码的速度和准确度,不过也有时会有冲突,都想着用自己的方法。。。

之后会继续努力

 

自动生成小学四则运算(简易)