20165234 《Java程序設計》實驗一 Java開發環境的熟悉

1、實驗報告封面

課程:Java程序設計  班級:1652班  姓名:劉津甫  學號:20165234java

指導教師:婁嘉鵬  實驗日期:2018年4月2日vim

實驗時間:15:35 - 17:15  實驗序號:實驗一安全

實驗名稱:Java開發環境的熟悉網絡

實驗題目:實現凱撒密碼並進行安全加固,並進行測試(正常狀況,異常狀況,邊界狀況)dom

實驗內容
1. 使用JDK編譯、運行簡單的Java程序;
2. 使用IDEA 編輯、編譯、運行、調試Java程序。eclipse

實驗要求
1. 沒有Linux基礎的同窗建議先學習《Linux基礎入門(新版)》《Vim編輯器》 課程;
2. 完成實驗、撰寫實驗報告,注意實驗報告重點是運行結果,遇到的問題(工具查找,安裝,使用,程序的編輯,調試,運行等)、解決辦法(空洞的方法如「查網絡」、「問同窗」、「看書」等一概得0分)以及分析(從中能夠獲得什麼啓示,有什麼收穫,教訓等);
3. 實驗報告中統計本身的PSP(Personal Software Process)時間;
4. 嚴禁抄襲。編輯器

2、實驗內容及步驟

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

1. 我提早創建好了文件夾 20165234目錄 20165234exp1 ;ide

2.  cd 20165234exp1 進入到目錄中;函數

3. mkdir src 、 mkdir bin 創建src、bin目錄;工具

4.  javac -d bin src/Hello.java 、 java -cp bin ljf.Hello 編譯運行代碼。

查看目錄樹:

用 vim 編輯的代碼以下:

(二)IDEA下Java程序開發、調試

  • 步驟及經常使用快捷鍵

顯示項目視圖:按「Alt+1」

新建Java類:用鼠標在「src」上點擊右鍵,選擇「New」->「Java Class」

生成main方法:在代碼編輯窗口中輸入「psvm」,而後按「tab」

生成 System.out.println() 在代碼編輯窗口中輸入「sout」,而後按「tab」

編譯,運行程序:「Run」->「Run...」,快捷鍵「Alt+Shift+F10」

  • 調試

程序設計中有三類錯誤:

1. 編譯時錯誤:語法錯誤,初學者易犯

2. 運行時錯誤:異常處理

3. 邏輯錯誤:能編譯運行,但運行結果不對

邏輯錯誤是你們學習中遇到最多的錯誤,要學會經過調試(Debug)來定位邏輯錯誤,經常使用技能有:

1. 自頂向下進行調試

2. 學會設置斷點(行斷點/函數斷點/條件斷點/臨時斷點)

3. 學會單步運行

4. 循環的調試

5. 函數(方法)的調試

6. 二分法定位錯誤

...

如下是調試程序的步驟:

  • 設置斷點

在要設置斷點的行號旁用鼠標單擊一下就好了(或使用 Ctrl+F8 快捷鍵)。在第5行設斷點:

單擊菜單「Run」->「Debug...」(或使用 Alt+Shift+F9 快捷鍵)開始調試Java程序,程序停留在了第5行:

  • 單步運行

經過單步運行讓程序運行到第6行,單步運行有兩種:Step Into(快捷捷F7)Step Over(快捷捷F8)

兩種單步運行功能在運行語句時沒有區別,在執行方法調用語句時,Step Into會跳入方法實現,Step Over會直接執行完方法,實際使用中咱們優先使用Step Over,只有方法執行出錯了,說明程序問題在被調用方法中,這時再回來經過Step Into進入方法進行調試。

單擊一下Step Over圖標(或F8),程序停在了第5行,這時查看變量i的值,會看到sum等於11。

單步執行效率比較慢,若想讓程序直接運行到第9行,首先咱們要在第9行設置斷點,而後單擊Resume圖標(快捷鍵F9),程序就運行到了第11行:

  • 設置條件斷點

在第9行左邊斷點處單擊鼠標右鍵,彈出斷點屬性框,可設置條件「i==50」:

按一下F9,能夠查看i的是50了:

  • 臨時斷點

斷點只中斷一次,若是想把第9,10行的for循環一會兒運行完,就須要在第12行設個條件斷點。在第十二行設個斷點,鼠標右擊斷點,點「More」或按快捷鍵 Ctrl+Shift+F8 打開斷點設置窗口,選中「Remove Once hit」

  • 方法斷點

當懷疑某個方法出錯了時,就能夠設置方法斷點。把光標移到方法中的任一行,使用菜單「Run」->「Toggle Method Breakpoint」.

 

(三)練習(本身的學號後兩位與題目總數取餘的結果再加上1就是本身要完成的題號)

個人學號後兩位是34,題目總數爲9,所以個人題號爲8.

8. 產生一個隨機數,讓用戶猜想,猜錯了告訴用戶是大了仍是小了。 並進行測試(正常狀況,異常狀況,邊界狀況)

代碼以下:

import java.util.Random;
import java.util.Scanner;
public class exercise {
    public static void main(String[] args) {
        Random rd = new Random();
        int a = rd.nextInt(100);
        System.out.println("請輸入100之內的數:");
        Scanner input = new Scanner(System.in);
        try {
            for (int i = 0; i < 3; i++) {
                int b = input.nextInt();
                if (b == a) {
                    System.out.println("你猜對了!");
                    break;
                } else if (b < a) {
                    System.out.println("你猜小了");
                } else
                    System.out.println("你猜大了");
            }
        } catch (Exception e) {
            System.out.println("輸入有誤,請輸入100之內的數字");
        }
    }
}
  • 運行截圖

相關文章
相關標籤/搜索