软件工程作业2

成员:*201421123027、201421033023
coding.net 地址:http://git.oschina.net/lsrd/jdbc。

  1. 需求分析:我们这组添加了计时器和语言选择功能。
    1). 计时器:能显示用户开始答题后的消耗时间。
    2). 语言选择功能:界面支持中文简体/中文繁体/英语,用户可以选择一种。
  2. 程序设计:
    程序主要分成两个类。一个szyswindows()类用于构建主界面。另一个为 Calculator()类用于设计算法。
    Calculator():

    szyswindows()类:

    程序设计主要分为计时器与语言选择两方面的设计。
    1). 计时器主要运用了System.currentTimeMillis()这个方法去获取启动时的毫秒值,在点击开始答题按钮时获取一个时间,在点击结束答题按钮时获取
    一个时间。然后两个时间相减得出时间差,再将时间转换成00:00:00的形式输出。
    2). 语言选择方面主要是界面的显示,首先准备好所要显示语言的三种语言形式(通过Goole翻译完成)。然后在界面上编辑一个置顶菜单,菜单中包含三个菜
    单项(简体、繁体、英文)。然后设计三个按钮的功能,当选择相应的按钮时,运用netbeans的setTxet()方法在界面显示相应的语言。
  3. 代码展示:
    1). 计时器:
 private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         
       over=System.currentTimeMillis();
        now1=((over-now) / (1000 * 60 * 60) % 60)+":"+((over-now)/ (1000 * 60)% 60)+":"+((over-now)/ 1000 % 60);
       String a=now1+"";
       jTextField7.setText(a);
          // TODO add your handling code here:
    }     
2). 语言选择器:
 private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {                                           
     jLabel1.setText("arithmetic"); 
     jLabel2.setText("Please input number :");
     jButton1.setText("Start");
     jLabel3.setText("The topic purpose :");
     jButton2.setText("answer");
     jLabel5.setText("Your answer:");
     jLabel10.setText("correct answer:");
     jButton4.setText("Next question");
     jLabel9.setText("The time used for:");
     jLabel7.setText("Wrongc number :   ");
     jLabel6.setText("All number :      ");
     jLabel8.setText("correct :         ");
     jButton3.setText("End of the answer");// TODO add your handling code here:
    }                                          
    private void jMenu1ActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:
    }                                      

    private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {                                           
     jLabel1.setText("四则运算"); 
     jLabel2.setText("请输入题数:");
     jButton1.setText("开始做题");
     jLabel3.setText("题 目:");
     jButton2.setText("查看答案");
     jLabel5.setText("你的答案:     ");
     jLabel10.setText("正确答案:");
     jButton4.setText("下一题");
     jLabel9.setText("所用时间为:");
     jLabel7.setText("错  题  数:");
     jLabel6.setText("答  题  数:");
     jLabel8.setText("正  确  率:");
     jButton3.setText("结束答题");
     // TODO add your handling code here:
    }                                          
    private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {                                           
     jLabel1.setText("四則運算"); 
     jLabel2.setText("請輸入題數:");
     jButton1.setText("開始做題");
     jLabel3.setText("題      目:");
     jButton2.setText("查看答案");
     jLabel5.setText(" 你的答案是:");
     jLabel10.setText("正確答案是:");
     jButton4.setText("下一題");
     jLabel9.setText("所用時間為 :");
     jLabel7.setText("錯  題  數:");
     jLabel6.setText("答  題  數:");
     jLabel8.setText("正  確  率:");
     jButton3.setText("结束答題");
    // TODO add your handling code here:
    }                                          
  1. 程序运行:
    语言选择菜单:

    中文繁体界面:

    中文简体界面:

    英文界面:

    计时器功能:点击开始答题开始计时,点击结束答题获得所用时间

  2. 小结感受:
    此次结对编程充分利用了两个人讨论出来的结果方法进行编译。两个人一起对功能进行分析,碰到不懂的相互查资料进行解答。我们在原来代码的基础上进行改进,添加功能。原本代码在eclipse上编译,由于为了构建GUI界面换到 netbeans上编译,不太兼容,大改了主函数。不过改了之后使整个类更加清晰。在功能设计方面,我们选择了计时器和语言选择。本次结对编程的好处在于能够从分利用两个人讨论出的进行编译使得条理更加清晰,整体代码更加严谨。
    讨论图片:
  3. psp:

posted @ 2017-03-13 19:57  肖习  阅读(227)  评论(1编辑  收藏  举报