一、题目描述:

实践能力的提高当然就是得多动手了,那么就从第一个个人项目开始吧,用一周的时间完成一个基于控制台的四则运算程序,实现一个自动生成小学四则运算题目的命令行程序。

从《构建之法》第一章的 “程序” 例子出发,像阿超那样,花二十分钟写一个能自动生成小学四则运算题目的命令行 “软件”,满足以下需求:

1. 使用 -n 参数控制生成题目的个数,例如

Myapp.exe -n 10-o Exercise.txt

将生成10个题目。

2. 使用 -r 参数控制题目中数值(自然数、真分数和真分数分母)的范围,例如

Myapp.exe -r 10

将生成10以内(不包括10)的四则运算题目。该参数可以设置为1或其他自然数。该参数必须给定,否则程序报错并给出帮助信息。

3. 生成的题目中如果存在形如e1÷ e2的子表达式,那么其结果应是真分数。

4. 每道题目中出现的运算符个数不超过3个。

5. 程序一次运行生成的题目不能重复,即任何两道题目不能通过有限次交换+和×左右的算术表达式变换为同一道题目。例如,23 + 45 = 和45 + 23 = 是重复的题目,6 × 8 = 和8 × 6 = 也是重复的题目。3+(2+1)和1+2+3这两个题目是重复的,由于+是左结合的,1+2+3等价于(1+2)+3,也就是3+(1+2),也就是3+(2+1)。但是1+2+3和3+2+1是不重复的两道题,因为1+2+3等价于(1+2)+3,而3+2+1等价于(3+2)+1,它们之间不能通过有限次交换变成同一个题目。

生成的题目存入执行程序的当前目录下的Exercises.txt文件,格式如下:

1. 四则运算题目1

2. 四则运算题目2

……

其中真分数在输入输出时采用如下格式,真分数五分之三表示为3/5,真分数二又八分之三表示为2’3/8。

6. 在生成题目的同时,计算出所有题目的答案,并存入执行程序的当前目录下的Answers.txt文件,格式如下:

1. 答案1

2. 答案2

特别的,真分数的运算如下例所示:1/6 + 1/8 = 7/24。

7. 程序应能支持一万道题目的生成。

8. 程序支持对给定的题目文件和答案文件,判定答案中的对错并进行数量统计,并会输出所有题目中重复的题目,输入参数如下:

Myapp.exe -e .txt -a .txt-o Grade.txt

统计结果输出到文件Grade.txt,格式如下:

Correct: 5 (1, 3, 5, 7, 9)

Wrong: 5 (2, 4, 6, 8, 10)

Repeat:2

RepeatDetail:

(1)   2,45+32  Repeat 3,32+45

(2)   5,3+(2+1)  Repeat 7,1+2+3

解释:

Correct: 5 ----5道题目正确,正确的题号 1,3,5,7,9

Wrong:5 -----5道题目错误,错误的题号 2,4,6,8,10

Repeat:2   2---组题目重复

(1) 第一组 题号2,题目 45+32  与题号3的题目重复,题号3为 32+45

(2)第二组  题号5,题目 3+(2+1) 与题号7的题目重复,题号7为 1+2+3

其中“:”后面的数字5表示对/错的题目的数量,括号内的是对/错题目的编号。为简单起见,假设输入的题目都是按照顺序编号的符合规范的题目。

二、.需求分析

1.实现带有自然数,真分数,假分数的四则等式

2.实现查重,运算

三、.功能设计

基本功能    生成表达式,并计算出答案

四、  设计实现

五、部分代码说明

File writename = new File("D:\\Java\\Common\\work\\szys.txt");

BufferedWriter out = new BufferedWriter(new FileWriter(writename));

out.write(eHead+"答案:"+result+"\r\n");

out.flush();

out.close();

用BufferedWriter将输出结果写到指定文件中

六、测试运行

七、源代码

https://gitee.com/y5659398/SZYS/tree/master

八、小结

1.本次实验实现功能:随机出题,题目数量自己输入,计算结果并放在txt文件中,实现小数功能。

2.未实现功能:查重等功能。

java四则运算程序_java实现四则运算程序相关推荐

  1. 用java的io做一个代码计数器,如何制作Java页面计数器_java

    大庆采油六厂采油工艺研究所 王兵 王波 常常逛WWW的人,一定对许多起始页上的计数器感兴趣.每当你光临某个站点的起始页时,它的计数器就很亲切地告诉你,从某年某月某日开始,你是第几位光临的人.你可能也想 ...

  2. 【源码+图片素材+详细教程】Java游戏开发_Java开发经典游戏飞翔的小鸟_飞扬的小鸟_Java游戏项目Flappy Bird像素鸟游戏_Java课程设计项目

    课程目标: 1.通过本课程的学习巩固Java的相关基础知识,例如循环判断,数组和集合的使用,对象的继承,接口的实现,窗口的创建,事件监听,图形绘制. 2.完成小鸟的移动,管道自动生成.碰撞死亡,计分系 ...

  3. 【源码+教程】Java桌球游戏_Java初级项目_Java练手项目_Java项目实战_Java游戏开发

    今天分享的Java开源游戏项目是桌球游戏,初学者也可以用来练习喔~课程详细讲解了一个桌球游戏的编写思路和流程,即使你刚学Java没多久,也可以跟随该教程视频完成属于你自己的桌球游戏!同时,还可以加深和 ...

  4. 【源码+项目部署】Java课程设计项目_Java人力资源管理系统

    对就业和毕业都有帮助的Java实战项目来咯--人力资源管理系统! 人力资源管理系统 |Java项目2小时上手编写_源码+数据库拿走不谢!Java实战项目_Java开发https://www.bilib ...

  5. java简单运算程序_JAVA实现简单四则混合运算

    JAVA实现简单四则混合运算,说明:该计算器支持实则混合运算,如 2*(3+1 )/ 4-3 *9+ 8/ 3*4- 5,则输出:-19.333332 需要说明的事括号必须是英文的.源码如下仅供学习: ...

  6. java取模运算_Java的四则运算符与取模运算符

    各位小伙伴们大家好,这次小编要介绍的是Java的四则运算符与取模运算符.这里,小编要提一下一些常见的运算符:算术运算符,赋值运算符,比较运算符,逻辑运算符,三元运算符.这次就先来讲算术运算符与取模运算 ...

  7. JAVA的四则运算规则_java四则运算规则

    java四则运算规则 1.基本规则 运算符:进行特定操作的符号.例如:+ 表达式:用运算符连起来的式子叫做表达式.例如:20 + 5.又例如:a + b 四则运算: 加:+ 减:- 乘:* 除:/ 取 ...

  8. java 四则混合运算_Java实现四则混合运算代码示例

    使用栈来实现,可以处理运算优先级. 使用自然四则运算表达式即可,如:4+(3*(3-1)+2)/2.无需把表达式先转换为逆波兰等形式. package com.joshua.cal; import j ...

  9. java四则混合运算_Java实现四则混合运算代码示例

    使用栈来实现,可以处理运算优先级. 使用自然四则运算表达式即可,如:4+(3*(3-1)+2)/2.无需把表达式先转换为逆波兰等形式. package com.joshua.cal; import j ...

最新文章

  1. zoj3557 插板法卢卡斯求组合数取模
  2. Linux SSH和SFTP服务分离
  3. webstrom 中 plugins error 设置里 Languages Frameworks里面没有JavaScript?
  4. 【数据库原理及应用】经典题库附答案(14章全)——第四章:关系系统及其优化
  5. sql连接远程服务器索引超出了_手机怎么连接服务器远程桌面?RD client远程桌面使用教程...
  6. qt中拖动窗口widget
  7. pandas AttributeError: ‘Styler‘ object has no attribute ‘style‘解决方法
  8. 向量化编程:arrayfun及cellfun函数的使用
  9. 联想g500网卡linux驱动,联想g500无线网卡驱动下载-lenovog500无线网卡驱动v10.0.0.225 官方版 - 极光下载站...
  10. Android包管理机制(一) PackageInstaller的初始化
  11. vue 创建项目时报错yorkie: Command failed.
  12. 浅谈低成本视频动作捕捉技术
  13. sql中的类型转换---学习
  14. c语言printf输出字符表情,C语言中printf输出的奇怪错误
  15. Python分享消息到Twitter、Youtube、Facebook平台
  16. 百篇大计敬本年之系统篇《十》 —— 系统文件名长度限制
  17. python将多个txt合并成一个_Python实现将目录中TXT合并成一个大TXT文件的方法
  18. 读懂人工智能、机器学习、神经网络和深度学习的关系
  19. 消耗了大量网络文学资源,漫改剧或成为IP改编的新蓝海
  20. 在c语言中一个字符常量代表,c语言中字符常量是什么?

热门文章

  1. Java毕设项目师生健康信息管理系统(java+VUE+Mybatis+Maven+Mysql)
  2. 《熊猫人之谜》属性可能重大改变
  3. 车联网V-2X智能汽车驾驶
  4. 7段均衡器最佳参数_十段均衡器的设置和参数[附带推荐poweramp均衡器设置]
  5. 别具一格的沙漠星空跨年,COLMO与百位超级个体揭露未来营养生活图景
  6. 开始甲骨文培训了,第一天说了一下上课学习规矩及计算机基础
  7. 你跳槽怎样考虑可持续性发展
  8. 牛客网 HJ42 学英语
  9. lm283_飞利浦Tango LED泛光灯BVP283-普照网
  10. python爬取B站视频历史弹幕,并去除同标签的重复弹幕,暴力拿下所有弹幕。