實驗一 Java開發環境的熟悉
課程:JAVA程式設計
班級:1652班
姓名:丁奕
學号:20165211
指導教師:婁嘉鵬
實驗日期:2018.4.2
實驗名稱:Java開發環境的熟悉
實驗内容及要求:1. 使用JDK編譯運作簡單的Java程式
2. 使用IDEA編輯、編譯、運作、調試Java程式
具體實驗步驟及問題
(一)使用JDK編譯運作簡單的Java程式
-
在虛拟機中打開終端Ctrl+Alt+T
-
建立以學号為目錄名的目錄,mkdir 20165211
進入目錄cd 20165211
-
,mkdir src
,在20165211目錄中建立src和bin目錄mkdir bin
- 源檔案Hello.java放于src目錄中,
編譯源檔案到bin目錄下javac -d bin src/Hello.java
- 進入bin目錄
,運作源檔案java Hello
- 以下是程式截圖:
(二)使用IDEA編輯、編譯、運作、調試Java程式
- 在IDEA中建立項目和HelloJDB類,輸入代碼
- 設定斷點:滑鼠單擊,或
Ctrl+F8
- 運作:上方菜單中[Run]-->[Debug],或
,程式運作,停在斷點設定處,同時顯示各種變量值![]Alt+Shift+F9
- 單步運作:Step Into(
),Step Over(F7
),差別:Step Into跳入方法實作,Step Over 直接執行完方法。F8
- 跳轉運作,在目标行設定斷點,單擊
圖示,或使用快捷鍵Resume
,運作。F9
- 設定條件斷點:在目标處單擊設定斷點,在斷點處右擊,在彈出的斷點屬性框,設定條件為i==50,
運作後顯示i=50。F9
- 臨時斷點:在目标行單擊設定斷點,右擊->
(快捷鍵more
)->選中Ctrl+Shift+F8
,運作,即可跳轉到目标行。或把光标移動到第12行,使用Remove Once hit
->Run
Run to Cursor
)F9
(三)練習
題目:實作Fibonacci數列功能,并進行測試(正常情況,異常情況,邊界情況)
- 程式實作:
public class Fibonacci {
public static void main(String[] args) {
int [] tmp=new int[args.length];
for (int i=0;i<args.length;i++){
tmp[i]=Integer.parseInt(args[i]);
}
if(tmp[0]<=0){
System.out.println("error!");
}
else{
for (int k=1;k<=tmp[0];k++){
System.out.println(Fib(k));
}
}
}
private static int Fib(int x){
if(x==1||x==2)
return 1;
else
return Fib(x-1)+Fib(x-2);
}
}
- 程式測試
- 問題總結
在第一次運作是,出現了這樣的情況,查找了一下資料,發現是有溢出,但是卻找不到在哪裡,而且在修改的過程中,程式也變得一團糟,無奈重新寫了一遍。
在寫的過程中,意外發現,在程式設計式時,出現了一個思維上的漏洞,導緻了錯誤,具體見圖:![1]
在下面的遞歸函數中,并沒有關于x==0,的讨論,但是k确實從0開始的,導緻沖突,改正程式為:
則可實作正常功能。
實驗心得及體會
在本次實驗中,我完成成了對Java運作環境的熟悉,在此後過程中,我覺得,學會使用快捷鍵,真的是一件能夠極大的提高工作效率的事,而且,更加易于了解記憶。有一個好的Java平台也很重要,比如在使用IDEA時,各種簡便的輸入方式會友善很多!
步驟 | 耗時 | 百分比 |
---|---|---|
需求分析 | 2min | 5.7% |
設計 | 3min | 8.6% |
代碼實作 | 15min | 42.9% |
測試 | 10min | 28.5% |
分析總結 | 5min | 14.3% |