1. 程式人生 > 其它 >20202320 實驗四 《資料結構與面向物件程式設計》實驗報告

20202320 實驗四 《資料結構與面向物件程式設計》實驗報告

20202320 實驗四 《資料結構與面向物件程式設計》實驗報告

課程:《程式設計與資料結構》

班級: 2023

姓名: 李金城

學號:20202306

實驗教師:王志強

實驗日期:2021年10月14日

必修/選修: 必修

##1.實驗內容

(一)Java Socket程式設計

  1.學習藍墨雲上教材《Java和Android程式設計》“第16章 輸入/輸出 ”和“第22章 網路”,學習JavaSocket程式設計
  2.結對程式設計。結對夥伴A編寫客戶端SocketClient.java,結對夥伴B編寫伺服器端。
  3.截圖加學號水印上傳藍墨雲,程式碼push到碼雲,並撰寫實驗報告。

(二)Java和密碼學

  參考http://www.cnblogs.com/rocedu/p/6683948.html

  以結對的方式完成Java密碼學相關內容的學習(帖子中所有程式碼和相關知識點需要學習)。提交學習成果碼雲連結和代表性成果截圖,要有學號水印。

(三)編寫有理數/複數計算器

  結對程式設計,結對夥伴A編寫有理數計算器。結對夥伴B編寫複數計算器。截圖加水印上傳藍墨雲,程式碼push碼雲。

(四)遠端有理數計算器

  結對程式設計,結對夥伴A程式設計實現客戶端,結果夥伴B實現伺服器端。
  客戶端通過鍵盤輸入一個有理數計算的公式(例如:1/4 + 1/6 = ),並把該公式以字串的形式傳送給夥伴B(伺服器端),伺服器端根據字串計算出結果為5/12,並把結果返回給客戶端A,A收到結果後輸出結果。截圖加水印上傳藍墨雲,程式碼push碼雲。

(五)遠端複數計算器

  結對程式設計,結對夥伴B程式設計實現客戶端,結果夥伴A實現伺服器端。
  客戶端通過鍵盤輸入一個有理數計算的公式(例如:1/4 + 1/6 = ),並把該公式以字串的形式傳送給夥伴A(伺服器端),伺服器端根據字串計算出結果為5/12,並把結果返回給客戶端B,B收到結果後輸出結果。截圖加水印上傳藍墨雲,程式碼push碼雲。
  注意實驗四(4)和實驗四(5),一個人不能僅實現客戶端,必須實現一個客戶端和伺服器,否則兩個實驗均不得分!!!

(六)實驗報告

  在規定時間前發表部落格,標題“學號 實驗四 《資料結構與面向物件程式設計》實驗報告”

## 2.實驗過程及結果

(一)Java Socket程式設計

  1.學習藍墨雲上教材《Java和Android程式設計》“第16章 輸入/輸出 ”和“第22章 網路”,學習JavaSocket程式設計
  2.結對程式設計。結對夥伴A編寫客戶端SocketClient.java,結對夥伴B編寫伺服器端。
  3.截圖加學號水印上傳藍墨雲,程式碼push到碼雲,並撰寫實驗報告。

(二)Java和密碼學

  參考http://www.cnblogs.com/rocedu/p/6683948.html

  以結對的方式完成Java密碼學相關內容的學習(帖子中所有程式碼和相關知識點需要學習)。提交學習成果碼雲連結和代表性成果截圖,要有學號水印。

  碼雲連結:https://gitee.com/besti2023javads/chen-huan-20202320/tree/master/

(三)編寫有理數/複數計算器

  結對程式設計,結對夥伴A編寫有理數計算器。結對夥伴B編寫複數計算器。截圖加水印上傳藍墨雲,程式碼push碼雲。

  碼雲連結:https://gitee.com/besti2023javads/chen-huan-20202320/tree/master/

(四)遠端有理數計算器

  結對程式設計,結對夥伴A程式設計實現客戶端,結果夥伴B實現伺服器端。
  客戶端通過鍵盤輸入一個有理數計算的公式(例如:1/4 + 1/6 = ),並把該公式以字串的形式傳送給夥伴B(伺服器端),伺服器端根據字串計算出結果為5/12,      並把結果返回給客戶端A,A收到結果後輸出結果。截圖加水印上傳藍墨雲,程式碼push碼雲。

  碼雲連結:https://gitee.com/besti2023javads/chen-huan-20202320/tree/master/

(五)遠端複數計算器

  結對程式設計,結對夥伴B程式設計實現客戶端,結果夥伴A實現伺服器端。
  客戶端通過鍵盤輸入一個有理數計算的公式(例如:1/4 + 1/6 = ),並把該公式以字串的形式傳送給夥伴A(伺服器端),伺服器端根據字串計算出結果為5/12,並把結果返回給客戶端B,B收到結果後輸出結果。截圖加水印上傳藍墨雲,程式碼push碼雲。
  注意實驗四(4)和實驗四(5),一個人不能僅實現客戶端,必須實現一個客戶端和伺服器,否則兩個實驗均不得分!!!

##3.實驗過程中遇到的問題和解決過程

-問題1:如何將整型數轉化為位元組,同時又如何將位元組轉化為整型數。

-問題1的解決方法:先將整型數轉化為字串型別,即Integer.toString(int num).getByte("UTF-8");

         位元組轉換則是通過:Integer.parseInt(String.valueOf(sb)); 這裡的sb是StringBuilder類。

-問題2:如何讀入複數。

-問題2的解決方法:外界輸入後,通過陣列存入每一個數值,在組合成複數進行運算。

## 其他(感悟、思考等)

  在查閱資料的同時不能夠盲目的相信,要有自己的判斷和思考。認真鑽研為什麼會使用那樣的程式碼,真正將知識吸收消化,成為自己的東西。

## 參考資料

- [《Java程式設計與資料結構教程(第二版)》](https://book.douban.com/subject/26851579/)

- [《Java程式設計與資料結構教程(第二版)》學習指導](http://www.cnblogs.com/rocedu/p/5182332.html)

-http://www.cnblogs.com/rocedu/p/6683948.html