Java结对编程之挑战出题】的更多相关文章

Java结对编程之挑战出题 需求分析 需求 对于挑战出题来说最主要的就是要产生的式子并将重复的式子去掉. 设计思路 具体的思路: 思路一: 原先我打算用集合中的元素的不重复性进行去重,这种思路的好处就是在运算符少的时候重复的概率越低,在参加运算的数字比较少的是好用.后来发现在产生大量的运算符参加运算时去重去掉的式子太多,就是说在运算符越多重复数字越多时去掉的式子太多从而大大的降低了运行的速率,就是说时间太长所以就放弃了这种方式. 思路二: 后来在于同学交流之后就选择了用另外一种去重的方法,就是将…
需求分析 实现去重出题,并以命令行参数形式指定题目要求. 设计思路 具体的思路: 思路一: 原本我和春旺商量通过集合中的元素的不重复性进行去重.但是运算符多也导致重复的数字多,去重的数量也大大增多越到后面效率越低,6000以后时间已经难以接受了,所以放弃了这种方法. 思路二: 后来我们向其他组的同学询问,发现通过结果相同且去重比较好,运算符多反而重复性降低,效率也就高了. UML类图 实现过程中的关键代码解释 public class Return { private Stack<String>…
Java结对编程四则运算(二) 一.题目描述及要求 Git提交粒度不要太粗,建议一个文件/一个类/一个函数/一个功能/一个bug修复都进行提交,不能一天提交一次,更不能一周一次,参考Commit Message的编写(www.ruanyifeng.com/blog/2016/01/commit_message_change_log.html) Git提交日志需保证有意义,如果整个项目持续使用无意义的提交日志,这里会是一个扣分项,如之前作业中的: weekxxx Pxxx代码 纯数字类名:1.2…
Java结对编程四则运算 一.题目描述:如何对表达式进行求值运算呢 1.中缀表达式与后缀表达式(娄老师讲解) 中缀表达式就是运算符号在运算数中间的表达式,比如1+2,顾名思义,后缀表达式就是运算符在运算数后面的表达式,比如1 2 +.为什么要讲后缀表达式呢?因为电脑运算后缀表达式会比中缀表达式方便很多.那么如何运算后缀表达式呢? 举个例子:计算9+(3-1)3+6/2,转换为后缀表达式即为9 3 1 - 3 + 6 2 / +(怎么转换后面再讲).计算规则就是建立一个空栈,遇到数字就入栈,遇到符…
Java结对编程四则运算一周小结 需求分析 对于四则运算来说最主要的就是要计算出产生的式子(字符串的形式). 设计思路 总体可将这个项目分解为几个部分:产生式子,计算式子,判断对错并记录: 具体的思路: 要产生随机数: 在产生随机数的时候就要产生随机的运算符: 在产生数字与运算符时最后一个数字之后就不能再产生运算符(运算符的数量始终比数字少1): 在一个式子中要多次产生随机数与运算符因此要用到循环: 在循环结束时就产生了一个式子就要求进行计算与输入: 在输入完之后就要判断对错,统计正确率: 又因…
一.需求分析 1.基本需求 随机生成n道题目 支持整数.分数,支持多运算符 能判断正误,错误时给出正确答案 能计算出正确率 2.扩展需求 处理生成题目并输出到文件 完成题目后从文件读入并判题 支持多语言:简体中文.繁体中文.English 生成题目去重 二.设计思路 在开始编程之前,我们一起仔细地阅读了项目的需求.各种具体细节,以及算法,进行了深入的讨论,总结了这次编程的主体内容,以及可能遇到的难点.问题. 1.主体内容 随机数.随机公式.随机括号(随机生成括号)的生成(用抽象类实现,重写方法g…
章节介绍 主要介绍并发编程时间中可能遇到的问题,以及如何解决. 主要问题 1.上下文切换问题 时间片是cpu分配给每个线程的时间,时间片非常短. cpu通过时间片分配算法来循环执行任务,当前任务执行一个时间片之后会切换到下一个任务.但是在切换之前会保存上一个任务的状态,以便再切换到这个任务时候,能够加载这个任务的状态.所以任务从保存再到加载的过程就是一次上下文切换.类似于读英文书时,遇到不懂的单词,记下读到的行数,翻出词典查询,查询完成后再翻到需要阅读的地方进行读取似的. 举例说明 多线程程序不…
并发编程的目的是为了让程序运行得更快,但是,并不是线程启动的越多,就能让程序最大限度地并发执行.并发编程时,会面临非常多的挑战,比如上下文切换的问题,死锁的问题,以及受限于各种硬件和软件的资源限制问题. CPU通过时间片分配算法来循环执行任务,当前任务执行一个时间后会切换到下一个任务.但是,在切换前会保存上一个任务的状态,以便下次切换回这个任务时,可以再加载到这个任务的状态.从任务保存到再加载的过程就是一次上下文切换. vmstat 1#vmstat可以测试上下文切换的次数.输出结果里的CS(C…
一.java并发编程的挑战 并发编程需要注意的问题: 并发编程的目的是让程序运行的更快,然而并不是启动更多的线程就能让程序最大限度的并发执行.若希望通过多线程并发让程序执行的更快,会受到如下问题的挑战: 线程的上下文切换问题.死锁问题.受限于硬件和软件的资源问题. 1.线程上下文切换 线程上下文切换简述:CPU通过时间片分配算法来循环执行任务,每个线程任务在正常情况下是被CPU轮询执行,当前任务执行完一个时间片后会切换到下一个线程任务.在切换前会保存上一个任务的执行状态,以便下次再切回这个任务时…
2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-最后阶段 最后的一周,时间越来越紧张,因为之前的拖沓和一些事情的耽误,导致了如今的紧张,这一周应该是我们小组效率最高的一周,因为放下了很多事情开始补充一些关于四则运算编程的一些东西. 结对编程的战友 20172316 赵乾宸:负责对于整数出题的编程,实现括号,整合最终输出: 20172319 唐才铭:负责对于分数出题的编程,类图绘制,整数类的修改,整数.分数测试: 20172329 王文彬:负责对于题目运算的编写…