做業來源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2213git
gitHub:https://github.com/lincanbin5201314/lsgithub
同伴:201606120020沈敏佈局
博客園:http://www.cnblogs.com/Mram/學習
一.基本要求測試
二.開發環境編碼
程序所使用的開發環境是:IntelliJ IDEA 2018.2.2xspa
三.擴展方向設計
四.程序實現3d
結隊項目的實現,須要有可視化界面的顯示。代碼規範
題目數目的輸入有所限制(1-5)道題,輸入不符合會彈出提示窗口,並默認題目數目爲1。
class dialog extends JDialog { private static final long serialVersionUID = 1L; public dialog(JFrame jf){ super(jf,"提示窗口",true); Container con = getContentPane(); con.add(new JLabel("您輸入錯誤!請從新輸入.")); setBounds(100,100,300,100); } }
界面佈置:
JFrame jf = new JFrame("四則運算"); JPanel p1=new JPanel(); Container con = jf.getContentPane(); con.setLayout(null);//取消佈局管理器 con.setBackground(Color.CYAN);//設置容器的背景顏色 JButton exerciseNum = new JButton("生成題目數量"); //實例化一個按鈕 JButton summitAns = new JButton("提交答案"); //實例化一個按鈕 JButton changeBgc = new JButton("背景顏色改變"); // 實例化一個按鈕 JLabel label = new JLabel("題目數量:", JLabel.CENTER); //題目數量標籤 label.setBounds(10,30,95,30); label.setFont(new Font("宋體",Font.PLAIN,16)); JLabel labe2 = new JLabel(("題目數量不能大於5"), JLabel.CENTER); labe2.setBounds(141,30,180,30); labe2.setFont(new Font("宋體",Font.PLAIN,16)); JLabel labe3 = new JLabel((""), JLabel.LEFT);//題目顯示在窗口 labe3.setBounds(5,75,250,200); labe3.setFont(new Font("宋體",Font.PLAIN,16)); JLabel labe4 = new JLabel((""), JLabel.LEFT);//題目顯示在窗口 labe4.setBounds(10,242,170,120); labe4.setFont(new Font("宋體",Font.PLAIN,15)); Double[] arr=new Double[10]; exerciseNum.setBounds(320, 30, 120, 30); // 設置位置與大小 summitAns.setBounds(180, 300, 120, 30); // 設置位置與大小 changeBgc.setBounds(310, 300, 120, 30); // 設置位置與大小 jf.setSize(500, 400); JTextField textField = new JTextField(); textField.setBounds(100, 30, 40, 30); textField.setVisible(true); JTextField textField1 = new JTextField(); textField1.setBounds(180, 85, 40, 20); textField1.setVisible(false); JTextField textField2 = new JTextField(); textField2.setBounds(180, 125, 40, 20); textField2.setVisible(false); JTextField textField3 = new JTextField(); textField3.setBounds(180, 160, 40, 20); textField3.setVisible(false); JTextField textField4 = new JTextField(); textField4.setBounds(180, 200, 40, 20); textField4.setVisible(false); JTextField textField5 = new JTextField(); textField5.setBounds(180, 235, 40, 20); textField5.setVisible(false); JLabel label1 = new JLabel(""); //題目數量標籤 label1.setBounds(240,85,200,30); JLabel label2 = new JLabel(""); //題目數量標籤 label2.setBounds(240,125,200,30); JLabel label3 = new JLabel(""); //題目數量標籤 label3.setBounds(240,160,200,30); JLabel label4 = new JLabel(""); //題目數量標籤 label4.setBounds(240,200,200,30); JLabel label5 = new JLabel(""); //題目數量標籤 label5.setBounds(240,235,200,30); label1.setFont(new Font("宋體",Font.PLAIN,15)); label2.setFont(new Font("宋體",Font.PLAIN,15)); label3.setFont(new Font("宋體",Font.PLAIN,15)); label4.setFont(new Font("宋體",Font.PLAIN,15)); label5.setFont(new Font("宋體",Font.PLAIN,15));
單擊提交答案,算出所用時間和算出得分。
單擊顏色修改能夠修改背景顏色:
五.問題與解決
1.構造窗體及元素佈置方面不熟悉。
之前有學習一些這方面的知識,不過只是學的一些皮毛,因此在開始作以前,咱們經過百度還有書籍熟悉一些知識。
2.怎麼作到鼠標單擊響應事件,還有事件之間值的傳遞。
一開始想了好久都沒搞懂怎麼在兩個之間傳遞局部變量,後來上網才知道兩個事件間不能傳值,因此經過定義全局變量來實現共用。
六.結隊工做照片
七.統計表
PSP2.1 | Personal Software Process Stages | Time Senior Student(h) | Time(h) |
Planning | 計劃 | 1 | 1 |
· Estimate | 估計這個任務須要多少時間 | 50 | 55 |
Development | 開發 | 3 | 3 |
· Analysis | 需求分析 (包括學習新技術) | 1 | 1 |
· Design Spec | 生成設計文檔 | 1 | 1 |
· Design Review | 設計複審 | 2 | 2 |
· Coding Standard | 代碼規範 | 5 | 5 |
· Design | 具體設計 | 1 | 1 |
· Coding | 具體編碼 | 20 | 22 |
· Code Review | 代碼複審 | 5 | 5 |
· Test | 測試(自我測試,修改代碼,提交修改) | 10 | 13 |
Reporting | 報告 | 2 | 2 |
· | 測試報告 | 0.5 | 0.5 |
· | 計算工做量 | 1 | 1 |
· | 並提出過程改進計劃 | 0.5 | 0.5 |