java四则运算程序_java实现四则运算程序
一、题目描述:
实践能力的提高当然就是得多动手了,那么就从第一个个人项目开始吧,用一周的时间完成一个基于控制台的四则运算程序,实现一个自动生成小学四则运算题目的命令行程序。
从《构建之法》第一章的 “程序” 例子出发,像阿超那样,花二十分钟写一个能自动生成小学四则运算题目的命令行 “软件”,满足以下需求:
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实现四则运算程序相关推荐
- 用java的io做一个代码计数器,如何制作Java页面计数器_java
大庆采油六厂采油工艺研究所 王兵 王波 常常逛WWW的人,一定对许多起始页上的计数器感兴趣.每当你光临某个站点的起始页时,它的计数器就很亲切地告诉你,从某年某月某日开始,你是第几位光临的人.你可能也想 ...
- 【源码+图片素材+详细教程】Java游戏开发_Java开发经典游戏飞翔的小鸟_飞扬的小鸟_Java游戏项目Flappy Bird像素鸟游戏_Java课程设计项目
课程目标: 1.通过本课程的学习巩固Java的相关基础知识,例如循环判断,数组和集合的使用,对象的继承,接口的实现,窗口的创建,事件监听,图形绘制. 2.完成小鸟的移动,管道自动生成.碰撞死亡,计分系 ...
- 【源码+教程】Java桌球游戏_Java初级项目_Java练手项目_Java项目实战_Java游戏开发
今天分享的Java开源游戏项目是桌球游戏,初学者也可以用来练习喔~课程详细讲解了一个桌球游戏的编写思路和流程,即使你刚学Java没多久,也可以跟随该教程视频完成属于你自己的桌球游戏!同时,还可以加深和 ...
- 【源码+项目部署】Java课程设计项目_Java人力资源管理系统
对就业和毕业都有帮助的Java实战项目来咯--人力资源管理系统! 人力资源管理系统 |Java项目2小时上手编写_源码+数据库拿走不谢!Java实战项目_Java开发https://www.bilib ...
- java简单运算程序_JAVA实现简单四则混合运算
JAVA实现简单四则混合运算,说明:该计算器支持实则混合运算,如 2*(3+1 )/ 4-3 *9+ 8/ 3*4- 5,则输出:-19.333332 需要说明的事括号必须是英文的.源码如下仅供学习: ...
- java取模运算_Java的四则运算符与取模运算符
各位小伙伴们大家好,这次小编要介绍的是Java的四则运算符与取模运算符.这里,小编要提一下一些常见的运算符:算术运算符,赋值运算符,比较运算符,逻辑运算符,三元运算符.这次就先来讲算术运算符与取模运算 ...
- JAVA的四则运算规则_java四则运算规则
java四则运算规则 1.基本规则 运算符:进行特定操作的符号.例如:+ 表达式:用运算符连起来的式子叫做表达式.例如:20 + 5.又例如:a + b 四则运算: 加:+ 减:- 乘:* 除:/ 取 ...
- java 四则混合运算_Java实现四则混合运算代码示例
使用栈来实现,可以处理运算优先级. 使用自然四则运算表达式即可,如:4+(3*(3-1)+2)/2.无需把表达式先转换为逆波兰等形式. package com.joshua.cal; import j ...
- java四则混合运算_Java实现四则混合运算代码示例
使用栈来实现,可以处理运算优先级. 使用自然四则运算表达式即可,如:4+(3*(3-1)+2)/2.无需把表达式先转换为逆波兰等形式. package com.joshua.cal; import j ...
最新文章
- zoj3557 插板法卢卡斯求组合数取模
- Linux SSH和SFTP服务分离
- webstrom 中 plugins error 设置里 Languages Frameworks里面没有JavaScript?
- 【数据库原理及应用】经典题库附答案(14章全)——第四章:关系系统及其优化
- sql连接远程服务器索引超出了_手机怎么连接服务器远程桌面?RD client远程桌面使用教程...
- qt中拖动窗口widget
- pandas AttributeError: ‘Styler‘ object has no attribute ‘style‘解决方法
- 向量化编程:arrayfun及cellfun函数的使用
- 联想g500网卡linux驱动,联想g500无线网卡驱动下载-lenovog500无线网卡驱动v10.0.0.225 官方版 - 极光下载站...
- Android包管理机制(一) PackageInstaller的初始化
- vue 创建项目时报错yorkie: Command failed.
- 浅谈低成本视频动作捕捉技术
- sql中的类型转换---学习
- c语言printf输出字符表情,C语言中printf输出的奇怪错误
- Python分享消息到Twitter、Youtube、Facebook平台
- 百篇大计敬本年之系统篇《十》 —— 系统文件名长度限制
- python将多个txt合并成一个_Python实现将目录中TXT合并成一个大TXT文件的方法
- 读懂人工智能、机器学习、神经网络和深度学习的关系
- 消耗了大量网络文学资源,漫改剧或成为IP改编的新蓝海
- 在c语言中一个字符常量代表,c语言中字符常量是什么?
热门文章
- Java毕设项目师生健康信息管理系统(java+VUE+Mybatis+Maven+Mysql)
- 《熊猫人之谜》属性可能重大改变
- 车联网V-2X智能汽车驾驶
- 7段均衡器最佳参数_十段均衡器的设置和参数[附带推荐poweramp均衡器设置]
- 别具一格的沙漠星空跨年,COLMO与百位超级个体揭露未来营养生活图景
- 开始甲骨文培训了,第一天说了一下上课学习规矩及计算机基础
- 你跳槽怎样考虑可持续性发展
- 牛客网 HJ42 学英语
- lm283_飞利浦Tango LED泛光灯BVP283-普照网
- python爬取B站视频历史弹幕,并去除同标签的重复弹幕,暴力拿下所有弹幕。