请根据要求封装操作整型数组的工具类ArraysUtil,不允许调用Arrays类的现成的方法,提供如下方法(注意参数和返回值的设计)
需求:
1、循环打印数组
2、循环打印数组,一行打印指定个数的元素
3、将数组转成[元素1,元素2…]这种格式的字符串
4、将数组进行冒泡排序(直接将原数组排序)
5、将数组进行冒泡排序(不允许排形参数组,需要直接返回一个排好序的新数组)
6、比较两个数组的所有元素是否完全一致
7、计算数组的平均值
8、计算数组的 大值
9、计算数组的 小值
10、将一个数组的所有元素都逆序(比如{5,4,8}变成{8,4,5})
11、判断一个指定的数值在数组中是否存在
参考源码:
//1、循环打印数组public void print(int[] arr) { for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + ","); }}
//2、循环打印数组,一行打印指定个数的元素public void print(int[] arr, int number) {
for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + ","); if ((i + 1) % number == 0) { System.out.println(); } }}
//3、将数组转成[元素1,元素2...]这种格式的字符串public String formatPrint(int[] arr) { if (arr == null) return "null"; int iMax = arr.length - 1;//如果iMax是-1 意味着数组长度是0 if (iMax == -1) return "数组长度为0"; StringBuilder b = new StringBuilder();// b.append('[');//在 前方追加一个[ for (int i = 0;; i++) { b.append(arr[i]); if (i == iMax)//满足条件 就退出 return b.append(']').toString(); b.append(", "); }}
//4、将数组进行冒泡排序(直接将原数组排序)public static void sort(int[] arr) { for (int i = 0; i < arr.length - 1; i++) { for (int j = 0; j < arr.length - 1 - i; j++) { if (arr[j] > arr[j + 1]) { int desk = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = desk; } } }}
//5、将数组进行冒泡排序(不允许排形参数组,需要直接返回一个排好序的新数组)public int[] sortNew(int[] arr) { int arrNew[] = new int[arr.length]; //把源数组 内容赋值一份给 arrNew for (int i = 0; i < arrNew.length; i++) { arrNew[i] = arr[i]; }
for (int i = 0; i < arrNew.length - 1; i++) { for (int j = 0; j < arrNew.length - 1 - i; j++) { if (arrNew[j] > arrNew[j + 1]) { int desk = arrNew[j]; arrNew[j] = arrNew[j + 1]; arrNew[j + 1] = desk; } } } return arrNew;}
//6、比较两个数组的所有元素是否完全一致public boolean isEquals(int[] arr1, int[] arr2) { if (arr1 == arr2)//地址相同 里面的数据肯定相同 return true; if (arr1 == null || arr2 == null) return false;
int length = arr1.length; if (arr2.length != length) return false;
for (int i = 0; i < length; i++) if (arr1[i] != arr2[i]) return false;
return true;}
//7、计算数组的平均值public double avg(int[] arr) { double sum = 0; for (int i = 0; i < arr.length; i++) { sum += arr[i]; } return sum / arr.length;}
//8、计算数组的 大值public int max(int[] arr) { int maxnumber = arr[0];//数组 一个 为 大值 for (int i = 0; i < arr.length; i++) { if (maxnumber < arr[i]) { maxnumber = arr[i]; } } return maxnumber;}
//9、计算数组的 小值public int min(int[] arr) { int minnumber = arr[0];//数组 一个 为 大值 for (int i = 0; i < arr.length; i++) { if (minnumber > arr[i]) { minnumber = arr[i]; } } return minnumber;}//10、将一个数组的所有元素都逆序(比如{5,4,8}变成{8,4,5})public int[] reverse(int[] arr) { int[] arr1 = new int[arr.length]; for (int x = 0; x < arr.length; x++) { arr1[x] = arr[arr.length - 1 - x]; } return arr1;}
//11、判断一个指定的数值在数组中是否存在public boolean isExits(int[] arr, int number) { boolean isTrue = false; for (int i = 0; i < arr.length; i++) { if (arr[i] == number) { return true; } } if (!isTrue) return false; else return false;}
专业解答各类计算机技术培训课程问题