Java黑皮书课后题第8章:8.29(相同的数组)如果两个二维数组m1和m2具有相同的内容,则它们是相同的。编写一个方法,如果m1和m2相同的话,返回true
生活随笔
收集整理的這篇文章主要介紹了
Java黑皮书课后题第8章:8.29(相同的数组)如果两个二维数组m1和m2具有相同的内容,则它们是相同的。编写一个方法,如果m1和m2相同的话,返回true
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
8.29(相同的數組)如果兩個二維數組m1和m2具有相同的內容,則它們是相同的。編寫一個方法,如果m1和m2相同的話,返回true
- 題目
- 題目描述與運行示例
- 破題
- 代碼
題目
題目描述與運行示例
8.29(相同的數組)如果兩個二維數組m1和m2具有相同的內容,則它們是相同的。編寫一個方法,如果m1和m2相同的話,返回true。使用下面的方法頭:
public static boolean equals(int[][] m1, int[][] m2)
編寫一個測試程序,提示用戶輸入兩個3*3的整數數組,顯示兩個矩陣是否相同
下面是運行示例:
破題
這里的相同,指的是在排序后的這兩個數組具有相同的元素
代碼
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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java黑皮书课后题第8章:8.28(严
- 下一篇: Java黑皮书课后题第8章:*8.30(