賈建超和我合作完成了前端頁面的一部分工作。他負責測試,我負責撰寫前端頁面。我透過編寫 JavaScript 檔案和 JSP 檔案建立了基本的盒子模型,完成了頁面的整體佈局。經過我的測試,我們成功建立了前端頁面的盒子結構,實現了西線路查詢、路線查詢、站點查詢等功能。
我們一起完成了結對作業的所有前端頁面,包括線路查詢、站點查詢、起始終點查詢等功能。線上路查詢方面,我們透過下拉框選擇線路號進行查詢;起始終點查詢則需要輸入起始點和終點後點選查詢;而站點查詢則是輸入站點名稱後進行查詢。賈建超負責頁面的撰寫,而我負責測試工作。我們開始討論如何建立資料庫,設計了一個名為 SubWay 的表,其中第一個欄位儲存線路號,第二個欄位儲存整條線路的站點資訊,交叉點用 # 符號標識。
我們透過擷取資料庫資訊來獲取所需資訊。接著我們實現了讀取每個站點的功能,首先讀取資料庫資訊,利用空格擷取站點資訊,若有交叉點則讀取相應線路資訊。最終透過 Servlet 呼叫將資訊傳遞至前端頁面,經過測試操作成功完成。我們繼續完成了剩餘的站點查詢功能,透過讀取資料庫資訊,獲取站點資訊並返回線路資訊至前端頁面。接著我們著手實現 Dijkstra 演算法,用於解決最短路徑問題。我們定義了一個名為 Dijkstra 的類,其中包含計算最短路徑的靜態方法 calculate 和一些輔助方法。類中使用 HashMap<Station, Result> 儲存每個站點到目標站點的最短距離和路徑資訊,visitedStations 用於記錄已訪問過的站點。calculate 方法接收起始站點和目標站點作為引數,根據 Dijkstra 演算法計算最短路徑。getLinkStations 方法用於獲取相鄰站點列表,getNextStation 方法用於獲取下一個要處理的站點。經過測試最終成功完成。我們繼續進行個人作業的第二階段,與 JavaWeb 端程式碼大致相同,除錯前端程式碼,實現三個功能:站點查詢、起始結束查詢和站點查詢。
我們不斷最佳化結對作業,重新整理程式碼,使其更加簡潔易懂。我們學會了如何使用導航欄,將其顯示在當前頁面上。
龔涵彬貢獻度:60%
賈建超貢獻度:40%