20155303 《Java程序設計》實驗一(Java開發環境的熟悉)實驗報告


20155303 《Java程序設計》實驗一(Java開發環境的熟悉)實驗報告

一、實驗內容及步驟

(一)使用JDK編譯、運行簡單的java程序

  • 命令行下的程序開發

步驟一(新建文件夾):打開windows下的cmd → 輸入cd Code命令進入Code目錄 → 輸入md 20155303test建立以自己學號命名的文件夾 → 輸入cd 20155303test進入文件夾 → 輸入md exp1建立“實驗一”文件夾 → 輸入cd exp1進入“實驗一”文件夾

步驟二(編譯、運行java程序):使用vim編輯器編輯java程序 → 在命令行下編譯、運行

(二)使用IDEA編輯、編譯、運行、調試Java程序

1、新建「HelloJDB」類,輸入如下代碼:

2、在需要設置斷點的一行左側單擊鼠標,出現紅色圓點。比如如下在第六行設置了斷點:

在上方Run菜單找到Debug...進行單步調試:

截止到第六行運行結果如下:

3、繼續向下執行,可以單擊Step Over,執行完方法。可以看到運行結果sum=11

『注意』:常用調試快捷圖標功能總結如下:

① Step Over(F8):程序向下執行一行(如果當前行有方法調用,這個方法將被執行完畢返回,然后到下一行)

② Step Into(F7):程序向下執行一行。如果該行有自定義方法,則運行進入自定義方法(不會進入官方類庫的方法)

③ Force Step Into:進入任何方法

④ Step Out(Shift+F8):如果在調試的時候進入了一個方法,並覺得該方法沒有問題,就可以使用stepout跳出該方法,返回到該方法被調用處的下一行語句。值得注意的是,該方法已執行完畢。

⑤ Run to Cursor:將程序運行到光標處。

4、如果想判斷循環內部是否出問題?比如我們想進入for循環,在第十行設置斷點,右擊出現對話框,在里面填寫自己想測試的數值,如i==50,再單擊resume圖標或者快捷鍵F9即可得到運行結果。

二、練習:實現學生成績管理功能,並進行測試。

『要求』:通過命令行和IDEA兩種方式實現,在IDEA下練習調試程序。

  • 設計思路:

首先要明白想讓這個程序做一些什么事?以我的這道練習題為例,我想讓它完成“添加學生”、“更新學生基本信息”、“刪除學生信息”、“按照成績排序”和“根據學號判斷學生是否存在並查找學生”五項功能。

其次,要將自己的想法通過編程實現。基於以上需求,我設計了一個Student類(包含以上三項信息)和一個Manage類(實現各種功能):

最后,設計一個測試類,通過調用構造函數驗證程序。如果出現bug再進行調試修改。

  • 命令行實現:

1、添加學生

2、更新學生基本信息

3、刪除學生信息

4、按照成績排序

5、根據學號判斷學生是否存在並查找學生

6、退出程序

  • IDEA調試:

比如想要了解courseSort()方法的執行情況,可以在該行設置斷點,單擊Step Over(或快捷鍵F8)執行完該方法,並查看執行結果:

如果對該方法有疑問,可以在該行設置斷點,單擊Step Into(或快捷鍵F7)進入內部:

即可查看該方法的詳細執行過程。

三、實驗過程中遇到的問題

  • 『問題一』:第一次設計的代碼只能完成按成績排序的功能,功能非常單一,使用價值不高。感謝婁老師的指點,經修改目前代碼可以完成添加學生更新學生基本信息刪除學生信息按照成績排序根據學號判斷學生是否存在並查找學生五項功能。程序還有很大的提升空間,可根據實際需要繼續開發程序功能。

  • 『問題二』:在命令行下運行出現了中文亂碼問題,是因為windows下默認的編碼方式與IDEA設置的編碼方式不同。將編碼方式轉為UTF-8即可成功運行。

  • 『問題三』

馬超同學針對我編寫的“成績管理系統”提出疑問:如果有非法輸入如何處理?

我的程序的確疏忽了異常處理,鑒於我的測試類用到了Scanner()方法,查詢API文檔可知這個方法可能拋出IOException異常,另外輸入格式與期望格式不匹配時還會拋出InputMismatchException異常,所以應添加 try{...}catch (Exception e) {System.out.println(e);} 捕捉異常。

如果輸入不合法,會出現以下異常提示:

感謝馬超同學的建議!

四、實驗體會與總結

“紙上得來終覺淺,絕知此事要躬行。”看書看了這么久,代碼也按照書上敲了近千行,而自己究竟掌握了多少呢?實驗給了我們一個將課本理論付諸實踐,並檢驗自我的機會。

這次實驗題目比較簡單,不過要想達到對代碼“信手拈來”的程度並不容易。所以說,敲代碼前先在腦海中構建好程序框架,就顯得尤為重要。先構思好想干什么,再一步一步用代碼實現自己的想法,最后有余力還可以優化程序,提升程序友好度,增加功能等等,我認為這才是編寫一個程序完整的步驟。

步驟 耗時 百分比
需求分析 3min 4%
設計 10min 13%
代碼實現 45min 62%
測試 5min 7%
分析總結 10min 14%


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM