20194649+自动生成四则运算题第一版报告
任务1:使用C或Java语言完成一个自动生成四则运算试题的程序。软件基本功能如下。
1)自动生成10道100以内的2个操作数的四则运算算式(+ - * /),要求运算结果也在100以内
(2)剔除重复算式。 2 + 3 = 和 2 + 3 = 是重复算式 2 + 3 = 和 3 + 2 = 不属于重复算式
(3)题目数量可定制
(4)相关参数可控制
是否包含乘法和除法
操作数数值范围可控(如操作数 在100以内 还是1000以内)
操作数是否含负数
(5)生成的运算题存储到外部文件result.txt中
1.需求分析
根据小学生的简单四则运算题目的需求,从而减轻教师的工作量,用程序做出四则运算的功能设计。
2. 功能设计
(1)基本功能
自动生成(操作数 在100以内 还是1000以内)包含加减法、乘法和除法
自动生成随机的运算符
(2)扩展功能
自己可以随机选取题目个数
能自动生成运算结果
自动生成题型类别
3. 设计实现
我设计了一个PrintMethDemo 类,包括了变量的定义,变量的赋值,语句的判断,遍历,循环等,最终完成了功能的实现。
4. 测试运行
测试运行结果与文本输出展示
包含加减包含正负的选择运算表达式排除重复项
包含加法乘除法的选择运算表达式排除重复项
包含正负加法乘除法的选择运算表达式排除重复
5.代码部分
public static String[] SumFan(){ System.out.println("请输入题目数量"); Scanner input=new Scanner (System.in); int num=input.nextInt(); String[] str = new String[num]; String conCat = null; for (int i = 0; i < num;) { int a=(int)(Math.random()>0.5?1:0); int fanwei1=(int)(Math.random()*100); int fanwei2=(int)(Math.random()*100); Integer Ifanwei1 = fanwei1; Integer Ifanwei2 = fanwei2; switch (a) { case 1: if (fanwei1+fanwei2>100) { continue; } conCat = (Ifanwei1.toString() + "+" + Ifanwei2.toString()); break; case 0: if(fanwei1>fanwei2) conCat = (Ifanwei1.toString() + "-" + Ifanwei2.toString()); if(fanwei2>fanwei1) conCat = (Ifanwei2.toString() + "-" + Ifanwei1.toString()); break; } str[i] = conCat; i++;//保证循环在需求的范围为内 }
导出的数据储存到外部文件resule.txt中的代码
PrintWriter out; try{ out=new PrintWriter("e:/result.txt");//输出的路径和文件名 }catch(FileNotFoundException e){throw new RuntimeException(e);}
6. 总结:由于跨专业对代码方面不太了解,自己在寝室想了很久也没有任何思路,后来还是同学一步步的给我讲解让我自己慢慢的就有了整体的思路。
7.在写代码的过程中遇到特别多的阻碍,其实每一个环节都让我感觉到了难度,写代码让我有点怀疑自己不属于这个专业,我真的菜到了极点,但是我还是希望自己一点点的进步吧。
PSP2.1 |
任务内容 |
计划共完成需要的时间(min) |
实际完成需要的时间(min) |
Planning |
计划 |
30 |
30 |
· Estimate |
· 估计这个任务需要多少时间,并规划大致工作步骤 |
45 |
60 |
Development |
开发 |
60 |
120 |
·· Analysis |
需求分析 (包括学习新技术) |
30 |
60 |
· Design Spec |
· 生成设计文档 |
10 |
15 |
· Design Review |
· 设计复审 (和同事审核设计文档) |
10 |
13 |
· Coding Standard |
代码规范 (为目前的开发制定合适的规范) |
5 |
7 |
· Design |
具体设计 |
30 |
45 |
· Coding |
具体编码 |
60 |
120 |
· Code Review |
· 代码复审 |
7 |
9 |
· Test |
· 测试(自我测试,修改代码,提交修改) |
15 |
30 |
· Postmortem & Process Improvement Plan |
· 事后总结 ,并提出过程改进计划 |
10 |
15 |
原文地址:https://www.cnblogs.com/wangting999/p/11521351.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 组复制安装部署 | 全方位认识 MySQL 8.0 Group Replication
- 提升低端设备的 Web 性能
- TypeScript 4.0 RC发布,带来诸多更新
- istio mcp实现探究
- K8S 生态周报| Helm v2 进入维护期倒计时
- Halcon实例转OpenCV:计算回形针方向
- OpenCV检测轮廓极点(Python C++)
- 「Python 正则」使用专题总结
- 如何真正理解好一个「设计模式」?
- 10 行实现最短路算法
- 深度学习Pytorch检测实战 - Notes - 第6章 单阶经典检测器:YOLO
- 从图片裁剪来聊聊前端二进制
- 【投稿】刀哥:Rust学习笔记 2
- 【每周一库】- JWT的Rust实现
- 【Rust日报】2020-08-15 Rust Nightly 标准库文档已涵盖了每个关键字