写自己的数组工具类

<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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值