• 结对编程1


    https://coding.net/u/lhl1212/p/ArithmeticTest/git
    201421123037&201421123041

    题目描述

    将上次基于命令行的四则运算小程序做成GUI,成为一个由基本功能、一定价值的程序。在下面的功能需求实现两个。
    1.记录用户的对错总数,程序退出再启动的时候,能把以前的对错数量保存并在此基础上增量计算。
    2.有计时功能,能显示用户开始答题后的消耗时间。
    3.界面支持中文简体/中文繁体/英语,用户可以选择一种;

    需求分析

    • 具有界面
    • 计时功能
    • 语言选择
    • 增量计算

    程序设计

    功能流程图

    程序流程图

    代码展示

    语言选择功能:

    	public void setLanguage() {
    		String[] choiceLanguage = { "简体中文", "繁体中文", "English" };
    		String language = (String) JOptionPane.showInputDialog(null, "请选择客户端的语言:
    ", "Choice a language for client",
    				JOptionPane.PLAIN_MESSAGE, new ImageIcon("icon.png"), choiceLanguage, "简体中文");
    		if (language == null) {
    			System.exit(-1);
    		} else {
    			try {
    				reader = new BufferedReader(new FileReader(new File("language/" + language + ".txt")));
    				String s;
    				while ((s = reader.readLine()) != null) {
    					tips.add(s);
    				}
    				reader.close();
    			} catch (IOException e) {
    				e.printStackTrace();
    			}
    		}
    	}
    

    计时功能

    public void showTime() {
    		labTime = new JLabel(tips.get(1) + "00:00");
    		labTime.setBounds(50, 0, 120, 50);
    		jpMain.add(labTime);
    		new Thread() {
    			public void run() {
    				while (true) {
    					try {
    						Thread.sleep(1000);
    						seconds++;
    						if (seconds >= 60) {
    							seconds = 0;
    							minutes++;
    						}
    						if (seconds < 10)
    							secStr = "0" + seconds.toString();
    						else
    							secStr = seconds.toString();
    						if (minutes < 10)
    							minStr = "0" + minutes.toString();
    						else
    							minStr = minutes.toString();
    					} catch (InterruptedException e) {
    						e.printStackTrace();
    					}
    					labTime.setText(tips.get(1) + minStr + ":" + secStr);
    					if(isEnd)
    						break;
    				}
    			}
    		}.start();
    	}
    

    关闭按钮的鼠标监听事件

    public void actionPerformed(ActionEvent e) {
    		btnExit.addMouseListener(new MouseAdapter() {
    			@Override
    			public void mouseClicked(MouseEvent arg0) {
    				// TODO Auto-generated method stub
    				System.exit(0);
    			}
    		});
    		
    

    程序运行

    语言选择

    进入不同语言界面:

    点击提交后:

    功能上只实现了计时和语言选择的功能,增量式的还未实现。

    小结感受

    这次合作虽然没有1+1>2的效果,但是能够在编程过程中多一个伙伴,至少有大于1的效果。在制定编码规范后都能很好的执行。由于是舍友,平常经常接触比较熟悉,再加上我的合作伙伴是一个能听取别人意见的人,在想法不一致的时候能直接提出来进行讨论。再遇到意见相左的时候,我们会分别陈述自己的观点,然后再进行比较,采取双方都同意的方法。
    这次的任务有些功能没实现,主要原因我觉得是两个人的能力都不是很强,经常在编码过程卡住然后一起查资料。希望在平常都能再提高一下自己的姿势水平。

    psp

    合作现场

  • 相关阅读:
    re
    response.xpath
    response.css
    mongovue无法显示collection的问题
    window下安装scrapy
    openCV 图片的处理
    sql server 日期时间操作
    怎样在visual studio 2005 让客户端的recv函数不阻塞
    c# winform 程序用126邮箱发邮件
    MiniDump类笔记
  • 原文地址:https://www.cnblogs.com/shizhuangde/p/6552441.html
Copyright © 2020-2023  润新知