1. 程式人生 > >20165334 實驗一 Java開發環境的熟悉

20165334 實驗一 Java開發環境的熟悉

dom 快捷鍵 實驗 ati inpu 問題 system.in scan parse

20165334 實驗一 Java開發環境的熟悉

實驗內容

1、使用JDK編譯、運行簡單的java程序

2、使用IDEA編輯、編譯、運行、調試java程序

實驗步驟

1、使用JDK編譯、運行簡單的java程序

步驟

  • 使用mkdir建立學號目錄
  • 使用vim Hello編寫代碼
  • 使用javac -d . Hello.java編譯代碼
  • 使用java ltl.Hello運行代碼

    截圖如下

技術分享圖片

2、使用IDEA編輯、編譯、運行、調試java程序

  • 編寫HelloJDB調試項目
  • 設置斷點
  • 單擊菜單「Run」->「Debug...」(或使用Alt+Shift+F9快捷鍵)開始調試Java程序
  • 單步運行:Step Into
    Step Over
  • 設置條件斷點
  • 方法斷點:有時候我們懷疑某個方法出錯了,就可以設置方法斷點。把光標移到方法中的任一行,使用菜單「Run」->「Toggle Method Breakpoint」

    截圖如下:

技術分享圖片

技術分享圖片

練習題: 產生一個隨機數,讓用戶猜測,猜錯了告訴用戶是大了還是小了。 並進行測試(正常情況,異常情況,邊界情況)

代碼如下

第一次代碼

//鍵盤輸入,沒有考慮邊緣情況
import java.util.Random;
import java.util.Scanner;
public class rdtexttwo {
    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);

        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("你猜的數有點大");
        }
    }

}
//命令行輸入
import java.util.Random;
public class rdtextone {
    public static void main(String args[]) {
        Random rd=new Random();
        int a=rd.nextInt(100);
                int b;
        b=Integer.parseInt(args[0]);
        System.out.println("請輸入100以內要猜的數:");
        if(b==a) {
            System.out.println("恭喜你猜對了,你可以去買彩票了");
        }
        else if (b<a) {
            System.out.println("哎呀,你猜的數有點小");
        }
        else {
            System.out.println("你猜的數有點大");
        }
    }
}

運行截圖

技術分享圖片

第二次修改考慮邊緣情況
由於學了第七章的try -catch語句,便設計了防止用戶輸入錯誤的功能。

代碼如下

import java.util.Random;
import java.util.Scanner;
public class rdtext {
    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以內的數字");
            }
    }
}

運行截圖

技術分享圖片

實驗過程中遇到的問題

在設計猜數程序是第一次沒有考慮邊緣情況,第二次設計雖然解決了防止用戶輸入非數字的功能,但還沒解決用戶輸入大於100的情況,我嘗試用while(input.nextInt() <100),雖然解決了這個問題但引入另一個問題,當用戶輸入正常數字時沒有運行結果,我會慢慢解決。

實驗總結

邊緣測試可以發現很多問題,不斷測試才能設計一個完美的程序

步驟 耗時 百分比
需求分析 10min 10%
設計 20min 20%
代碼實現 50min 50%
測試 10min 10%
分析總結 10min 10%

20165334 實驗一 Java開發環境的熟悉