import java.util.Random;
/**
* 1,定义第一个方法,传入数组长度,返回一个1维和2维长度都完全相同的数组
* 2.定义一个方法,传入两个数二维组,判断两个数组是否完全一致:一维,二维长度,和内容都一致
* 3.定义一个方法,遍历传入的二维数组 没有返回值
*/
public class operate {
public static void main(String[] args) {
/*
* 此方法,返回一个指定一维长度,和二维长度,都一致的数组
*/
int[][] arr1 = RandomArr(10, 9, 1000);
int[][] arr2 = RandomArr(10, 8, 1000);
/*
* 遍历二维数组
*/
forArray(arr1);
/*
判断两个数组是否一致(一维,二维,长度,和内容)
*/
boolean b = ifToArray(arr1, arr2);
String bo = b ? "两个数组一致" : "两个数组不一致";
System.out.println(bo);
}
/**
* 判断两个二维数组长度 和内容是否都一致
*
* @param arr1 二维数组1
* @param arr2 二维数组2
* @return 一致返回true, 不一致返回false
*/
private static boolean ifToArray(int[][] arr1, int[][] arr2) {
//1.首先判断两个数组一维长度是否一致
if (arr1.length != arr2.length) {
System.out.println("数组一维不一致");
return false;
}
System.out.println("数组一维完全一致:" + "array1一维长度:" + arr1.length + " 等于数组array2一维长度:" + arr2.length);
// 2. 判断两个数组二维所有长度是否一致
for (int i = 0; i < arr1.length; i++) {
if (arr1[i].length != arr2[i].length) {
System.out.print("数组二维长度不一致:");
System.out.print("一维元素下标:" + i + "处二维的数组长度不一致 ");
System.out.println("array1元素长度:" + arr1[i].length + " != " + "array2元素长度:" + arr2[i].length);
return false;
}
}
System.out.println("数组二维完全一致");
// 3. 判断两个数组二维所二维内容是否一致,因为到这里证明一维和二维都是 完全一致的
//所以不用担心一维和二维长度不一致所发生越界
for (int i = 0; i < arr1.length; i++) {
for (int i1 = 0; i1 < arr1[i].length; i1++) {
if (arr1[i][i1] != arr2[i][i1]) {
System.out.println("数组二维内容不一致: " + "一维: " + (i) + "二维 " + (i1) + " 处不相等 ");
System.out.println("arr1内容:" + arr1[i][i1] + " 不等于arr2:" + arr2[i][i1]);
return false;
}
}
}
System.out.println("数组内容完全一致");
return true;
}
/**
* 遍历输出二维数组
* @param arr 二维数组
*/
private static void forArray(int[][] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.print("一维元素 " + i + " 二维长度:" + (arr[i].length) + " 维值:");
for (int i1 = 0; i1 < arr[i].length; i1++) {
System.out.print(arr[i][i1] + " ");
}
System.out.println();
}
}
/**
* 此方法返回一个指定一维,二维,长度,并且随机生成的数组
*
* @param a1 一维长度
* @param a2 二维长度
* @param r 随机数的最大值
* @return 返回一个指定一维和二维长度的随机数组
*/
private static int[][] RandomArr(int a1, int a2, int r) {
Random random = new Random();
int[][] arr1 = new int[a1][a2];
//一维数组循环录入所有随机值值
for (int i = 0; i < a1; i++) {
//二维数组循环录入所有随机值
for (int i1 = 0; i1 < a2; i1++) {
arr1[i][i1] = random.nextInt(r);
}
}
return arr1;
}
}
11-29
12-17
117
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
09-28
1108
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交