日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java黑皮书课后题第8章:8.29(相同的数组)如果两个二维数组m1和m2具有相同的内容,则它们是相同的。编写一个方法,如果m1和m2相同的话,返回true

發布時間:2024/7/23 java 30 豆豆

8.29(相同的數組)如果兩個二維數組m1和m2具有相同的內容,則它們是相同的。編寫一個方法,如果m1和m2相同的話,返回true

  • 題目
    • 題目描述與運行示例
    • 破題
  • 代碼

題目

題目描述與運行示例

8.29(相同的數組)如果兩個二維數組m1和m2具有相同的內容,則它們是相同的。編寫一個方法,如果m1和m2相同的話,返回true。使用下面的方法頭:
public static boolean equals(int[][] m1, int[][] m2)
編寫一個測試程序,提示用戶輸入兩個3*3的整數數組,顯示兩個矩陣是否相同
下面是運行示例:

Enter list1: 51 25 22 6 1 4 24 54 6 Enter list2: 51 22 25 6 1 4 24 54 6 The two arrays are identical Enter list1: 51 5 22 6 1 4 24 54 6 Enter list2: 51 22 25 6 1 4 24 54 6 The two arrays are not identical

破題

這里的相同,指的是在排序后的這兩個數組具有相同的元素

  • 主方法:輸出提示用戶輸入語句
  • 主方法:聲明兩個3*3的int型數組
  • 主方法:從控制臺獲取用戶輸入
  • 主方法:調用方法equals,根據方法返回值輸出結果
  • equals方法:聲明兩個長度為9的一維int型數組
  • equals方法:通過遍歷將兩個二維數組的值傳遞給int型數組
  • equals方法:對兩個一維數組進行排序
  • equals方法:比較兩個數組元素是否對應相等,如果是則返回true,反之false
  • 代碼

    import java.util.Arrays; import java.util.Scanner;public class Test8_29 {public static void main(String[] args) {//1. 主方法:輸出提示用戶輸入語句Scanner input = new Scanner(System.in);//2. 主方法:聲明兩個3*3的int型數組int[][] m1 = new int[3][3];int[][] m2 = new int[3][3];//3. 主方法:從控制臺獲取用戶輸入System.out.print("Enter list1: ");for (int i = 0 ; i < 3 ; i++){for (int j = 0 ; j < 3 ; j++){m1[i][j] = input.nextInt();}}System.out.print("Enter list2: ");for (int i = 0 ; i < 3 ; i++){for (int j = 0 ; j < 3 ; j++){m2[i][j] = input.nextInt();}}//4. 主方法:調用方法equals,根據方法返回值輸出結果if (equals(m1, m2)){System.out.println("The two arrays are identical");} else {System.out.println("The two arrays are not identical");}}public static boolean equals(int[][] m1, int[][] m2){//5. equals方法:聲明兩個長度為9的一維int型數組int[] arr1 = new int[9];int[] arr2 = new int[9];//6. equals方法:通過遍歷將兩個二維數組的值傳遞給int型數組for (int i = 0 ; i < 3 ; i++){for (int j = 0 ; j < 3 ; j++){arr1[3 * i + j] = m1[i][j];arr2[3 * i + j] = m2[i][j];}}//7. equals方法:對兩個一維數組進行排序Arrays.sort(arr1);Arrays.sort(arr2);//8. equals方法:比較兩個數組元素是否對應相等,如果是則返回true,反之falsefor (int i = 0 ; i < 3 ; i++){if (arr1[i] != arr2[i]){return false;}}return true;} }

    總結

    以上是生活随笔為你收集整理的Java黑皮书课后题第8章:8.29(相同的数组)如果两个二维数组m1和m2具有相同的内容,则它们是相同的。编写一个方法,如果m1和m2相同的话,返回true的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。