小學四則運算練習題網頁版結對項目報告

来源:https://www.cnblogs.com/Apriler/archive/2019/04/10/10686986.html
-Advertisement-
Play Games

一.項目結構 二.計算模塊和界面模塊間的調用 三.頁面演示效果 四.遇到問題 五.知識點記錄 六.新知識新技能 七.未實現但計劃實現功能 八.學習目標與總結 項目地址:https://git.dev.tencent.com/hey_wuqw/webArithmetic.git 一.項目結構 二. 計 ...


一.項目結構

二.計算模塊和界面模塊間的調用

三.頁面演示效果

四.遇到問題

五.知識點記錄

六.新知識新技能

七.未實現但計劃實現功能

八.學習目標與總結


項目地址:https://git.dev.tencent.com/hey_wuqw/webArithmetic.git


一.項目結構

二. 計算模塊和界面模塊間的調用

三.頁面演示效果



四.遇到問題

1.check()方法(用於接收答題頁面傳來的參數,請求從answer.jsp(答題界面)轉發到result.jsp(做題結果界面))需要訪問makeQ()方法中的保存運算式子的字元串數組(即qlist):同一個類中的一個方法里訪問另一個方法的變數是不合理的。
——想到的三個解決方法(1已實踐成功,2,3未實踐不知是否可行):
(1)定義一個全局變數(字元串數組qlist),這樣就能在makeQ()方法中訪問該變數
——問題:數組大小是固定的,在定義數組時用戶傳的numExp(出題數量)是未知的,這時定義數組變數無法確定數組大小,只能隨便給一個足夠大的數。但這樣轉為list集合放到

String[] list2 = list.toArray(new String[list.size()]);

(2)給makeQ()定義一個返回值,返回qlist數組,check()調用返回值。
(3)由於answer.jsp中請求的目標資源是servlet中的check(),那麼把該表量從makeQ()傳到answer.jsp再傳到check().
2.將foreach迴圈內的input框輸入值傳到servlet:
——設置一個ID

<c:set var="position" value="0"/>

每迴圈一次給name賦如下值且ID+1

<input name="s${position}" id="id${position}" style="width: 60px;"/>
<c:set var="position" value="${position+1}"/>

servlet中接收:

for(int i = 0;i<expNum;i++){
    userAn[i] = request.getParameter("s"+i);
}

3.for input String:””
——一開始expNum是makeQ()方法的局部變數,無法在check()中使用——expNum也定義為全局變數
4.把兩個字元創變數userAn和correctAn用“==”來比較是否相等——字元串的比較用str1.equals(str2)

五.知識點記錄

1.JSTL

if( !MD && !Brac ){//沒有乘除法和括弧
    for (int i=0; i<expNum; i++)
        qlist[i] = question.createExp(fuNum, upper, lower);
}else if ( !MD && Brac ){//沒有乘除法有括弧
    for (int i=0; i<expNum; i++)
        qlist[i] = question.createExpWithBrac(fuNum, upper, lower);
}else if ( MD && !Brac ){//有乘除法沒有括弧
    for (int i=0; i<expNum; i++)
        qlist[i] = question.createExpWithMD(fuNum, upper, lower);
}else{//既有乘除法又有括弧
    for (int i=0; i<expNum; i++)
        qlist[i] = question.createExpWithAll(fuNum, upper, lower);
}

3.controller層包含了較多的邏輯業務處理功能,背離controller層的真正存在意義。如check()方法中涵蓋了生成計算結果,並把計算結果的存入數組的邏輯。

六.新知識新技能

我和我的結對伙伴都是主要學習後端的,關於前端編寫我們速學了一下bootstrap,用了bootstrap的基本模板,再進行修改,得到的頁面真的是整潔美觀,還具備相容性,特別好用。

七.未實現但計劃實現功能

1.錯題報告(將錯誤題目及答案列出,生成錯題集)
2.生成題目文件並課下載
3.做題歷史記錄

八.學習目標與總結

瀏覽了上屆學長學姐這個結對項目的博客,發現他們有大量的篇幅都是在做代碼性能分析,之前從來沒有接觸過,感覺可以學一學。這次涉及人機交互界面的設計,讓我意識到在進行後端技術學習時也可以抽空學學前端,能自己完成一個項目的同時,也能更好的理解前後端的交互。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言 ASP.NET Core 中 繼承的是AuthorizationHandler ,而ASP.NET Framework 中繼承的是AuthorizeAttribute. 它們都是用過重寫裡面的方法實現過濾請求的。 現在我們實現如何在 ASP.NET Core MVC 實現自定義授權。 關於Au ...
  • 一、什麼是外觀模式 定義:為子系統中的一組介面提供一個一致的界面,用來訪問子系統中的一群介面。 外觀模式組成: Facade:負責子系統的的封裝調用 Subsystem Classes:具體的子系統,實現由外觀模式Facade對象來調用的具體任務 二、外觀模式的使用場景 1、設計初期階段,應該有意識 ...
  • 前言: 相信很多人都聽過一個問題:把大象關進冰箱門,需要幾步? 第一,把冰箱門打開;第二,把大象放進去;第三,把冰箱門關上。我們可以看見,這個問題的答案回答的很有步驟。接下來我們介紹一種設計模式——模板方法模式,你會發現,它與這個問題的答案實際上有很多共同之處。 一、定義 定義一個演算法骨架,允許子類 ...
  • 簡介 CAT 是一個實時和接近全量的監控系統,它側重於對Java應用的監控,基本接入了美團上海所有核心應用。目前在中間件(MVC、RPC、資料庫、緩存等)框架中得到廣泛應用,為美團各業務線提供系統的性能指標、健康狀況、監控告警等。 優勢 實時處理:信息的價值會隨時間銳減,尤其是事故處理過程中。 全量 ...
  • 想著想著結果還是過了時間! 這個月的進度堪比之前幾年! 我自己的游戲用UE4寫的風聲水起! 美術的朋友給我做了好多動作! 我都想著以後弄個個人眾籌什麼的了,可見是進展不錯! 公司的事最近不太忙,反而是結婚的事越來越忙,戒指已經買完了,50分的也算不小了,1克拉的她也嫌貴! 前倆禮拜還順便把MACOS ...
  • 好玩圖像PIL處理 一、PIL庫學習總結 1、PIL中的模塊 Image模塊、ImageChops模塊、ImageCrackCode模塊、ImageDraw模塊、ImageEnhance模塊、ImageFile模塊、ImageFileIO模塊、ImageFilter模塊、ImageFont模塊、Im ...
  • # 從決定學習編程語言到正式做出計劃擠出空餘時間,歷經一年半,因工作原因及生活原因不斷擱淺,從湖北到浙江再回湖北,暫時穩定在一家小公司,從日常加班中壓縮時間學習,於此記錄學習進度、學習問題,在此過程中望前輩們不吝指教,自己也會堅持住,希望能早日做到技術實現,在此領域不斷成長! 至此,人生苦短,我用p ...
  • 死磕 java集合之ConcurrentHashMap源碼分析(三) ConcurrentHashMap查詢是否也加鎖? ConcurrentHashMap有哪些值得我們學習的技術? ConcurrentHashMap有哪些不能解決的問題? ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...