20194741自动生成四则运算题第一版报告

---恢复内容开始---

一、需求分析

  leader给出项目需求,需要制作一个四则运算的试题的程序

 

二、需求分析  

  (1)自动生成10道100以内的2个操作数的四则运算算式(+ - *  /),要求运算结果也在100以内

  (2)剔除重复算式。  2 + 3 =    和  2 + 3 =     是重复算式      2 + 3 =   和   3 + 2 =  不属于重复算式

  (3)题目数量可定制

  (4)相关参数可控制

            是否包含乘法和除法

            操作数数值范围可控(如操作数 在100以内   还是1000以内)

            操作数是否含负数    

    (5)生成的运算题存储到外部文件result.txt中

 

三、设计实现

  PrintStream 生成TXT文件;

  Scanner 输入内容获取;

  Math.random() 生成随机数;

  println 输出内容显示;

四. 测试运行

20194741自动生成四则运算题第一版报告

 五. 粘贴自己觉得比较独特的或满意的代码片段

  因为对java不是很熟悉,所以使用了各种if的判断和for循环进行操作

for(int i=0;i<num;i++){ double x = Math.random()*imax; //生成第一个数 double y = Math.random()*imax; //生成第二个数 double m = 1; char l = 1; //生成负数 for(int p=0;p<2;p++){ if(fushu == 1){ m = (int)Math.random()*2; if( m == 0){ l = (char)'-'; } } } double z = 1; if(suanfa == 1){ z = Math.random()*2; //生成加减法 }else if(suanfa == 2){ z = Math.random()*4; //生成加减乘除法 }else if(suanfa == 3){ double n = 1; n = Math.random()*2; //生成加减法 z = n+2; } int one = (int)x; //生成第一个数 int two = (int)y; //生成第二个数 int three = (int)z; //生成加减符号 char four = 1; int five = 1; if(three==0){ if(one+two<=imax){ four = (char)'+'; if(m==0){ one = -one; two = -two; } five = one+two; System.out.println("测试加法"+one+" "+four+" "+two+"="+five); }else{ i--; } }else if(three==1){ if(one-two>=0){ four = (char)'-'; if(m==0){ one = -one; two = -two; } five = one-two; System.out.println("测试减法"+one+" "+four+" "+two+"="+five); }else{ i--; } }else if(three==2){ if(one*two<=imax){ four = (char)'*'; if(m==0){ one = -one; two = -two; } five = one*two; System.out.println("测试乘法"+one+" "+four+" "+two+"="+five); }else{ i--; } }else if(three==3){ if(one/two>=0){ four = (char)'http://www.likecs.com/'; if(m==0){ one = -one; two = -two; } float six = (float)one/two; System.out.println("测试除法"+one+" "+four+" "+two+"="+six); }else{ i--; } } }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyspwd.html