写自己的数组工具类

来源:互联网 发布:ppt美化大师软件 编辑:程序博客网 时间:2024/05/22 06:50
<pre name="code" class="java"><pre name="code" class="java">package pers.songhongkang.chaper3.day5;public class ArrayUtil {//求数组的最大值public int getMax(int[] arr){//int max=0;//不能定义为0,如果数组中的元素都小于0,这时的最大值就为0了。int max=arr[0];for(int i=0;i<arr.length;i++){if(max<arr[i]){max=arr[i];}}return max;}//求数组的最小值public int getMin(int[] arr){int min=arr[0];for(int i=0;i<arr.length;i++){if(min>arr[i]){min=arr[i];}}return min;}//遍历数组元素public void printArray(int[] arr){System.out.print("[");for(int i=0;i<arr.length;i++){System.out.print(arr[i]+"\t");}System.out.print("]");}//求数组的总和public int getSum(int[] arr){int sum=0;for(int i=0;i<arr.length;i++){sum+=arr[i];}return sum;}//求数组的平均数public int avg(int[] arr){int sum=getSum(arr);return sum/arr.length;}//数组的反转public int[] reverse(int[] arr){for(int i=0,j=arr.length-1;i<j;i++,j--){int temp=arr[i];arr[i]=arr[j];arr[j]=temp;}return arr;}//实现数组的复制public int[] copy(int[] arr){int arr1[]=new int[arr.length];for(int i=0;i<arr.length;i++){arr1[i]=arr[i];}return arr1;}//对数组进行排序public void sort(int[] arr) {for (int i = 0;i < arr.length  - 1; i++) {for (int j = 0; j < arr.length - i - 1; j++) {if (arr[j] > arr[j + 1]) {/*int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;*/swap(arr,j,j+1);//可扩展性,代码简洁性}}}}//数组指定位置的数据交换public void swap(int[] arr,int x,int y){int temp = arr[x];arr[x] = arr[y];arr[y] = temp;}}

package pers.songhongkang.chaper3.day5;public class TestArrayUtil {public static void main(String[] args){int[] arr=new int[]{12,4,76,0,-98,-54,4,100};ArrayUtil au=new ArrayUtil();int max=au.getMax(arr);System.out.println("最大值为"+max);int avg=au.avg(arr);System.out.println("平均值为"+avg);System.out.print("初始数组为:");au.printArray(arr);//打印初始数组System.out.println();//换行au.sort(arr);System.out.print("数组排序为:");au.printArray(arr);//打印出排序数组System.out.println();System.out.print("数组反转为:");au.reverse(arr);au.printArray(arr);//打印出反转数组}}
最大值为100
平均值为5
初始数组为:[12 4 76 0 -98 -54 4 100]
数组排序为:[-98 -54 0 44 12 76 100]
数组反转为:[100 76 12 4 40 -54 -98]

0 0