阿摩線上測驗 登入

申論題資訊

試卷:100年 - 100年專門職業及技術人員高等建築師、技師、第2次食品技師暨普通不動產經紀人、記帳士考高等_資訊技師#40649
科目:程式設計
年份:100年
排序:0

申論題內容

五、試以 Java 語言撰寫一個 equalArrays()方法,此方法接受兩個傳入之整數陣列,然後 使用 try-throw-catch 方式,比較這兩個陣列的內容是否相同。如果兩個陣列的個數 不相同,則 throw 一個 Exception(“Two arrays do not have equal length.”),此 Exception 必須由 catch 處理,並將訊息列印出來。如果兩個陣列的個數相同,則比 較這兩個陣列的內容是否相同,並將比較結果列印出來。(15 分) 假設 equalArrays()方法之標頭如下: public void equalArrays(int [ ] a, int [ ] b)

詳解 (共 1 筆)

詳解 提供者:hchungw

一個使用Java語言編寫的equalArrays()方法的示例。該方法接受兩個整數數組作為參數,並使用try-throw-catch機制來比較這兩個數組的內容是否相同。如果兩個數組長度不同,它會拋出一個異常;如果長度相同,它會比較數組的內容,並列印比較結果。

 

java

Copy code

public class ArrayComparator {

 

    public static void main(String[] args) {

        // 測試數組

        int[] array1 = {1, 2, 3, 4};

        int[] array2 = {1, 2, 3, 4};

        int[] array3 = {1, 2, 3};

        

        // 比較array1array2

        equalArrays(array1, array2);

        

        // 比較array1array3

        equalArrays(array1, array3);

    }

 

    public static void equalArrays(int[] arr1, int[] arr2) {

        try {

            // 檢查數組長度

            if (arr1.length != arr2.length) {

                throw new Exception("Two arrays do not have equal length.");

            }

            

            // 比較數組內容

            for (int i = 0; i < arr1.length; i++) {

                if (arr1[i] != arr2[i]) {

                    System.out.println("Arrays are not equal.");

                    return;

                }

            }

            System.out.println("Arrays are equal.");

        } catch (Exception e) {

            // 捕獲並列印異常資訊

            System.out.println(e.getMessage());

        }

    }

}

在這個例子中,equalArrays方法首先檢查兩個數組的長度是否相等。如果不相等,它會拋出一個異常,並帶有消息“Two arrays do not have equal length.”。如果數組長度相等,則繼續比較數組中的每個元素。如果發現任何不相等的元素,則列印“Arrays are not equal.”並終止比較。如果所有元素都相等,則列印“Arrays are equal.”。

 

這個方法使用了異常處理機制來處理可能出現的數組長度不等的情況,使得代碼更加健壯且易於維護。