码上未来IT培训(沈阳校区)

封装数组工具类ArraysUtil(操作整型数组)

发布日期:2022年11月28日

请根据要求封装操作整型数组的工具类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;}


加微信咨询
夏老师 @码上未来IT培训
微信号:155******12

专业解答各类计算机技术培训课程问题

微信咨询
相关资讯
Web前端自动化测试工具的选择与实践:迈向高效与质量的双赢之 全栈开发中的API设计原则:打造高效、可维护的后端服务 Python大数据分析工具:从Spark到Hadoop的实践 HTML5跨平台开发:开启移动应用新篇章,Web技术引领未来 Java微服务架构演变:适应不断变化的业务需求
相关课程