20182305 2019-2020-1 《數據結構與面向對象程序設計》實驗六報告

20182305 2019-2020-1 《數據結構與面向對象程序設計》實驗五報告

課程:《程序設計與數據結構》
班級: 1823
姓名: 孫銘澤
學號:20182305
實驗教師:王志強
實驗日期:2019年10月15日
必修/選修: 必修java

1.實驗內容

1.鏈表練習,要求實現下列功能:android

經過鍵盤輸入一些整數,創建一個鏈表;
這些數是你學號中依次取出的兩位數。再加上今天的時間。例如你的學號是20172301今天時間是 2018/10/1, 16:23:49秒
數字就是20, 17,23,1,20,18,10,1,16,23,49打印全部鏈表元素,並輸出元素的總數。
在你的程序中,請用一個特殊變量名來紀錄元素的總數,變量名就是你的名字。
例如你叫 張三, 那麼這個變量名就是int nZhangSan = 0; //初始化爲0.
作完這一步,把你的程序簽入源代碼控制(git push)。

2.鏈表練習,要求實現下列功能:git

實現節點插入、刪除、輸出操做;
繼續你上一個程序, 擴展它的功能,每作完一個新功能,或者寫了超過10行新代碼,就簽入代碼,提交到源代碼服務器;
從磁盤讀取一個文件, 這個文件有兩個數字。
從文件中讀入數字1, 插入到鏈表第 5 位,並打印全部數字,和元素的總數。 保留這個鏈表,繼續下面的操做。
從文件中讀入數字2, 插入到鏈表第 0 位,並打印全部數字,和元素的總數。 保留這個鏈表,並繼續下面的操做。
從鏈表中刪除剛纔的數字1. 並打印全部數字和元素的總數。

3.鏈表練習,要求實現下列功能:編程

使用冒泡排序法或者選擇排序法根據數值大小對鏈表進行排序;
若是你學號是單數, 選擇冒泡排序, 不然選擇選擇排序。
在排序的每個輪次中, 打印元素的總數,和目前鏈表的全部元素。
在(2)獲得的程序中繼續擴展, 用同一個程序文件,寫不一樣的函數來實現這個功能。 
仍然用 nZhangSan (你的名字)來表示元素的總數。

4.在android上實現實驗(1)和(2)數組

5.在android平臺上實現實驗(3)
服務器

2. 實驗過程及結果

參考鏈表實踐中的代碼,進行輸入並創建鏈表。並按照實驗要求進行git push操做。記錄本身的代碼編寫過程。數據結構




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

  • 問題1:使用File file = new file("文件名.txt")方法建立文件後進行讀取操做,可是IDEA拋出異常找不到文件。
  • 問題1解決方案:改用`File file = new file(路徑,"文件名.txt")的方法,手動設置文件生成路徑,後面使用讀取方法就能夠找到文件了。
  • 問題2:讀取文件後,沒法正確識別兩個數字,會將兩個數字當成一個數字來處理。
  • 問題2解決方案:修改代碼,逐行去讀取內容,並將兩個數字分割,分別轉化爲int型存入數組。
Reader reader = new FileReader(file);
            BufferedReader bufferedreader = new BufferedReader(reader);
            StringTokenizer stringTokenizer = new StringTokenizer(bufferedreader.readLine());
            number = stringTokenizer.countTokens();
            ints = new int[number];
            while(stringTokenizer.hasMoreTokens())
            {
                ints[a] = Integer.parseInt(stringTokenizer.nextToken());
                a++;
            }
  • 問題3:安卓程序編譯經過,可是輸入數字點擊按鈕後程序意外中止。
  • 問題3解決辦法:檢查代碼後發現退出的緣由是循環添加鏈表時數組越界,改正後這個問題就解決了。

其餘(感悟、思考等)

本次實驗使用了IDEA和Android Studio兩個開發環境對相似的程序進行開發,同時學習java語言和安卓編程。對安卓的編程基本套路更加熟悉了一些。同時也學到了不少數據處理中的便利方法。函數

相關文章
相關標籤/搜索