第三次作业
学号:
201421122078
201421122085
项目地址:https://coding.net/u/maobinggan/p/shishi/git
1 .需求分析
1把第一次作业的程序做成GUI,成为一个有基本功能、一定价值的程序。
2.记录用户的对错总数,程序退出再启动的时候,能把以前的对错数量保存并在此基础上增量计算。
3.有计时功能,能显示用户开始答题后的消耗时间。
4.界面支持中文简体/中文繁体/英语,用户可以选择一种;
2.程序设计
针对选择的2-3个新开发功能做设计,使用思维导图:
3.代码展示
3.1计时器代码
//计时器代码 class shishi3 extends Thread { private long noww = 0l; private long start = System.currentTimeMillis();// 程序启动时间的毫秒值 private long time; public void run() { int i=0; while (true) { noww = System.currentTimeMillis();// 获取一秒之后的毫秒值 System.out.println("start="+start); System.out.println("noww="+noww); time = noww - start;// 两个时间相减的到毫秒差 System.out.println("time="+time); System.out.println("(time / 1000 % 60)="+(time / 1000 % 60)); timetime=time; String ssss=String.format("%02d:%02d:%02d\n", time / (1000 * 60 * 60) % 60/* 时 */, time / (1000 * 60)% 60/* 分 */, (time / 1000 % 60)/* 秒 */);// 格式化字符串输出 l1.setText(ssss); i++; try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } }
3.2从文件读取历史记录
//从文件读取历史记录 try { BufferedReader br3 = new BufferedReader(new FileReader(file3)); String s = null; before = br3.readLine(); if(before==null) { totalright=now; }else { totalright=Integer.parseInt(before)+now; System.out.println("直接打印String类型的before"+before); br3.close(); } } catch (Exception e3) { e3.printStackTrace(); } System.out.println("try1结束"); System.out.println("try2"); try { PrintWriter pw3 = new PrintWriter(file3); pw3.println(totalright); pw3.close(); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } System.out.println("try2结束"); JOptionPane.showMessageDialog(null, co+"\n"+fi+"\n"+"用时:"+(timetime / 1000 % 60)+"秒\n"+"本次答对:"+now+"题"+"\n"+"累计答对:"+totalright+"题");
4.程序运行
初始界面:
开始答题
点击提交查看对错:
点击下一页按钮翻页:
点击结束答题按钮查看统计结果
5.小结感受:结对编程真的能够带来1+1>2的效果吗?
结对编程可以带来1+1>2的效果,通过分工合作能节省时间,提高工作效率。确实完成了更高质量的代码。程序编的不那么容易出BUG,而且代码也写得更为优雅和紧凑.
6.运用“汉堡包”的方式,评价你的合作伙伴,指出优点、缺点,希望ta提高的地方。
在完成代码编程之前,我们一起讨论采用哪些算法思想。在完成代码编程之后,我们一起讨论如何优化完善代码。虽然刚开始各自有各自的想法,但我们经过一番讨论之后,我们得出最终的一个解决方案。能够及时讨论问题,这是他的一个优点。至于缺点,对于这次结对编程项目,没有合理安排时间,以至于后面的工作有点盲目,代码质量差。我想这也是我的缺点所在。
7.PSP表格