做業四-結對項目

一.前提

(1)做業來源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2213javascript

(2)GitHub地址:https://github.com/mingbiaoleung/FourOperationWebhtml

(3)調試環境:IntelliJ IDEA ,CHORME瀏覽器前端

二.做業要求

(1)基本要求java

  • 自動生成題目,單個題目最多不能超過4個運算符,操做數小於100。
  • 用戶能夠輸入答案。
  • 若用戶輸入答案正確,則提示正確;若答案錯誤,則提示錯誤,並要提示正確答案是多少。

(2)擴展要求git

  1. 能夠出表達式裏含有負整數(負整數最小不小於-100)的題目,且負數須要帶括號,用戶輸入的結果不用帶括號。如: 2*(-4) = -8。
  2. 用戶能夠選擇出題的個數(最多不能超過5個題目),答題結束能夠顯示用戶答錯的題目個數和答對的題目個數。
  3. 用戶答題結束之後,程序能夠顯示用戶答題所用的時間。
  4. 程序能夠設置答題時間,時間設置爲整數,單位爲秒,最大不能超過120秒,若超過了答題時間未答題,則提示:時間已到,不能答題。

(3)結對成員github

       姓名:梁銘標 學號:201606120031  博客園地址:https://www.cnblogs.com/luengmingbiao/ajax

       姓名:劉傑  學號:201606120029  博客園地址:http://www.cnblogs.com/Winslow-liujie/json

三.時間估算

        結對項目軟件過程耗時估計表與統計表後端

       (時間單位:小時)瀏覽器

PSP2.1

我的軟件實現階段

預計時間

實際時間

Planning

計劃

1

2

· Estimate

估計這個任務須要多少時間

10

20

Development

開發

10

10

· Analysis

需求分析 (包括學習新技術)

1

1

· Design Spec

生成設計文檔

1

1

· Design Review

設計複審

0.5

0.5

· Coding Standard

代碼規範

1

1

· Design

具體設計

1

1

· Coding

具體編碼

1

1

· Code Review

代碼複審

0.5

0.5

· Test

測試(自我測試,修改代碼,提交修改)

1

1

Reporting

報告

1

1

·

測試報告

1

1

·

計算工做量

2

2

·

並提出過程改進計劃

2

2

 

四:工做詳情

    (一)工做:

               劉傑:             設計和編寫界面交互部分、設計計時器。

               梁銘標:          後臺代碼隨機生成題目、先後端數據交互、判斷正誤。

    (二) 部分功能代碼介紹:

(1)題目獲取功能:經過ajax異步獲取必定數量的四則運算習題(前臺)

1
2
3
4
5
6
7
8
9
10
11
12
$.ajax({
             type:  "POST" ,
             url:  "GetTitleInfoServlet" ,
             dataType:  "json" ,
             data: jsonDate,
             async: false ,
             contentType: "application/json;charset=UTF-8" ,
             success:  function  (returnedData) {
                 var  titleInfoJson = JSON.stringify(returnedData);
                 sessionStorage.setItem( "title" , titleInfoJson);
             }
          });

         題目獲取功能:經過ajax異步獲取必定數量的四則運算習題(後臺)

複製代碼
 /**
     *   響應前端ajax生成必定數量的四則運算習題並返回到前臺
     * @param request    
     * @param response
     * @throws ServletException
     * @throws IOException
     */
    protected  void service(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // 設置請求與響應的編碼
        request.setCharacterEncoding("UTF-8");
        response.setCharacterEncoding("UTF-8");
        response.setContentType("text/x-javascript;charset=utf-8");
        response.setHeader("Cache-Control", "no-cache");

        // 獲取從頁面中提交過來的JSON格式數據數據
        String titleInfo = JsonService.readJSONData(request);
        JSONObject titleInfoJson = JSONObject.parseObject(titleInfo);

        // 根據前臺傳來的數據進行解析後生成相應的題目,並以JsonArray格式存儲
        JSONArray titleJsonArray = generateTitleJsonArray(titleInfoJson);

        // 把生成的題目返回到前臺
        PrintWriter printWriter = response.getWriter();
        printWriter.write(titleJsonArray.toJSONString());
        printWriter.flush();
        printWriter.close();
    }

複製代碼

(2)用戶提交功能:首先通過校驗機制判斷是否輸入答案,以後進行答案的比對運算出答對題數量。

五.軟件演示 

 

軟件入口地址:http://119.23.205.157/Title.html

1.首先進行選擇題目類型以及題目個數

六.感想

其實在此次的做業大部分的都是梁銘標完成的,我只作了一些提供思路,以及對於佈局的一些建議,還有幫助梁同窗去尋找網上的一些同類型的項目,做爲參考。

遇到的問題是不少時候有比較好的思路,可是最後都很難完成。畢竟本身的代碼量和想象中的有些出入。在寫完以後,看到了不少同窗的,想要向他們學習,發現本身還有不少的不足。須要看更多的代碼來學習和進步,須要上網看一些教程。

相關文章
相關標籤/搜索