天天看點

結對程式設計1

https://coding.net/u/lhl1212/p/ArithmeticTest/git

201421123037&201421123041

題目描述

将上次基于指令行的四則運算小程式做成GUI,成為一個由基本功能、一定價值的程式。在下面的功能需求實作兩個。

1.記錄使用者的對錯總數,程式退出再啟動的時候,能把以前的對錯數量儲存并在此基礎上增量計算。

2.有計時功能,能顯示使用者開始答題後的消耗時間。

3.界面支援中文簡體/中文繁體/英語,使用者可以選擇一種;

需求分析

  • 具有界面
  • 計時功能
  • 語言選擇
  • 增量計算

程式設計

功能流程圖

結對程式設計1

程式流程圖

結對程式設計1

代碼展示

語言選擇功能:

public void setLanguage() {
		String[] choiceLanguage = { "簡體中文", "繁體中文", "English" };
		String language = (String) JOptionPane.showInputDialog(null, "請選擇用戶端的語言:\n", "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
結對程式設計1

進入不同語言界面:

結對程式設計1
結對程式設計1
結對程式設計1

點選送出後:

結對程式設計1

功能上隻實作了計時和語言選擇的功能,增量式的還未實作。

小結感受

這次合作雖然沒有1+1>2的效果,但是能夠在程式設計過程中多一個夥伴,至少有大于1的效果。在制定編碼規範後都能很好的執行。由于是舍友,平常經常接觸比較熟悉,再加上我的合作夥伴是一個能聽取别人意見的人,在想法不一緻的時候能直接提出來進行讨論。再遇到意見相左的時候,我們會分别陳述自己的觀點,然後再進行比較,采取雙方都同意的方法。

這次的任務有些功能沒實作,主要原因我覺得是兩個人的能力都不是很強,經常在編碼過程卡住然後一起查資料。希望在平常都能再提高一下自己的姿勢水準。

psp

結對程式設計1

合作現場

結對程式設計1