154173331 徐杨易 现代软件工程工作室半月(2017年3月19日~2017年5月30日)学习情况总结
学习内容总结
这段时间学习了对github、git、IDEA和Markdowm语言的使用以及通过编写四则运算程序对java语言的复习和学习
学习中的问题和解决过程
- 问题1:在输出float类型的数据时小数位过长
- 问题1解决方案:使用DecimalFormat类对输出数据进行限制
- 问题2:在循环计算最大公约数时结果无法一一对应
- 问题2解决方案:把计算过程从主函数中提出作为函数使用,避免直接调用数组数据运算导致错误
- 问题3:当输入的答案不符合要求时程序会报错终止
- 问题3解决方案:答案不直接输入数组,先输入到一个字符串中通过正则表达式进行格式上的判断,符合正确格式再与答案进行比较判断
- 问题4:生成的分数不是真分数
- 问题4解决方案:在输入随机数的时候将分子分母的随机值分开输入,先输入分母的数值再将同位分母的数字作为最大值上限,限制输入分子的随机值的大小,以达到真分数的目的。
- 问题5:后缀表达式的转换函数无法直接转换一个字符串
- 问题5解决方案:用字符串数组进行分隔
String a[]=x.split(" ");
进行分隔以后再逐个循环输入list中,因为提前在末尾增加了"#"作为标志符,所以用while控制循环输入。 - 问题6:在运算级相同的情况下,后缀表达式的转换会出错
- 问题6的解决方案:按照输出栈顶运算符到操作数堆栈,并将当前运算符压入运算符堆栈的方式进行处理,在判断条件中对等号的位置进行调换
学习成果
代码提交记录截图
任务成果截图
感悟
加入工作室以后,主要锻炼了我的自主学习能力。以前上课做的作业都是按照老师上课讲的按部就班的做,需要自己思考的部分有限。进入工作室以后布置的任务看上去很简单但是实际上都对基础不够好的我造成了挑战,我也在一次次的挑战中学习了起来,对java语言的使用更加的熟练,对以前学过的知识也能融会贯通,更深入的理解。
学习时间统计
- 计划学习时间:在每周工作室学习时间以外再自主学习2-3小时
- 实际学习时间:前半段时间基本都能达到规定时间,5月份由于家里的问题以及放假偷懒导致时间有些减少。
你阅读过的参考资料
- 用java具体代码实现分数(即有理数)四则运算
- Git和Github简单教程
- 极简MarkDown排版介绍(How to)
- Markdown——入门指南
- git merge简介
- GitHub Desktop下载及使用
- 逆波兰表达式
- Java实现中缀表达式转后缀表达式并计算结果
- Java正则表达式的语法与示例
- JAVA 正则表达式 (超详细)