20194676第二次作业四则运算

一、需求分析 

  使用C或Java语言完成一个自动生成四则运算试题的程序。 自动生成10道100以内的2个操作数的四则运算算式(+ - *  /),要求运算结果也在100以内,并保存计算结果。

二、功能设计

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

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

      (3)题目数量可定制

      (4)相关参数可控制

          是否包含乘法和除法

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

          操作数是否含负数    

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

三、设计实现

  设计一个Tes测试t类,包括了变量的定义,变量的赋值,判断语句,循环语句等。

       设计了输入输出函数

       最后进行整体运算。

四、测试运行

五、代码展示

 

StringBuffer w = new StringBuffer();
 public void oppt(int n, int opn, int sel, boolean flag, boolean ifSave) {
  // TODO Auto-generated method stub
  for (int i = 0; i < n; i++) {
   num1 = r.nextInt(sel) + 1;
   shuzi = r.nextInt(opn);
   switch (shuzi) {
   case 0:
    num2 = r.nextInt(sel - num1);
    break;
   case 1:
    num2 = r.nextInt(num1);
    break;
   case 2:
    num2 = r.nextInt(sel / num1);
    break;
   case 3:
    num2 = r.nextInt(num1);
    break;
   }

 

   if (flag) {
    int f = r.nextInt(2);
    int p = r.nextInt(2);
    if (0 == f)
     num1 = -num1;
    if (0 == p)
     num2 = -num2;
   }
   if (num1 < 0)
    str1 = "(" + num1 + ")";
   else
    str1 = "" + num1;
   if (num2 < 0)
    str2 = "(" + num2 + ")";
   else
    str2 = "" + num2;
   if (ifSave) {
    w.append(str1 + "" + cun[shuzi] + str2 + "=" + "   ");

 

    try {
     FileWriter fw = new FileWriter("d:/result.txt");
     fw.write(w.toString());
     fw.close();
    } catch (IOException e) {
     e.printStackTrace();
    }
   }
   System.out.println(str1 + "" + cun[shuzi] + str2 + "=");
  }

六、总结

生成基本运算,再得出最后结果。学的比较吃力,MarkDown编辑也没整明白。

七、 PSP

 

 

转载于:https://www.cnblogs.com/jianghongyan1/p/11522030.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值