java语言求数组最大值、最小值、总和,打印,翻转、截取等操作

//Java数组章节练习题
public class ArrayUtils{

    //1.计算数组中最大值
    public static int arrayMaxElement(int[] data){
        
		int max=data[0];
		for(int i=0;i<data.length;i++){
			if(max<data[i]){
				max=data[i];
			}		
		}
		System.out.println("最大值为:"+max);
        return max;
    }
    
    //2.计算数组中最小值
    public static int arrayMinElement(int[] data){
       
		int min=data[0];
		for(int i=0;i<data.length;i++){
			if(min>data[i]){
				min=data[i];
			}
		}
		System.out.println("最小值为:"+min);
        return min;
    }
    
    
    //3.计算数组值之和
    public static int arrayElementSum(int[] data){
        
		int sum=0;
		for(int i=0;i<data.length;i++){
			sum+=data[i];
		}
		System.out.println("数组总和为:"+sum);
        return sum;
    }
    
    //4.数组拼接
    public static int[] arrayJoin(int[] a, int[] b){
        //TODO
		int[] c=new int[a.length+b.length];
		for(int i=0;i<a.length;i++){
			c[i]=a[i];
		}
		for(int j=a.length;j<c.length;j++){
			c[j]=b[j-a.length];
		}
		for(int n=0;n<c.length;n++){
			System.out.print(c[n]+" ");
		}
        return null;
    }

    //5.数组截取
    //[start, end)
    public static int[] arraySub(int[] data, int start , int end){
        if(start>end){
			System.out.print("数组越界!");
			return null;
		}
		if(start<0&&end<data.length){
			start=0;
		}else if(start>=0&&end>=data.length){
			end=data.length-1;
		}
		while(start<end){
			System.out.print(data[start]+" ");
			start++;
		}
		System.out.print(data[end]);
        return null;
    }
    
    //6.数组打印
    public static int printArray(int[] data){
        
		for(int i=0;i<data.length;i++){
			System.out.print(data[i]+" ");
		}
		return 0;
    }
    
    //7.数组反转
    // 比如:[1,2,3,4] => [4,3,2,1]
    public static void printReversal(int[] data){
        
		int start=0;
		int end=data.length-1;
		while(start<end){
			data[start]^=data[end];
			data[end]^=data[start];
			data[start]^=data[end];
			start++;
			end--;
		}
		
    }
    
    public static void main(String[] args){
        
		
		int[] Array=new int[]{1,4,2,5,33,51,12};
		int[] Array2=new int[]{6,45,23,12};
		
		//1.计算数组最大值
		arrayMaxElement(Array);
		
		//2.计算数组最小值
		arrayMinElement(Array);
		
		//3.计算数组总和
		arrayElementSum(Array);
		
		//数组拼接
		System.out.println("拼接后的数组为:");
		arrayJoin(Array,Array2);
		System.out.println();
		//数组翻转
		System.out.print("翻转后的数组为:");
        printReversal(Array);
		System.out.println();
		//打印数组
		printArray(Array);
		System.out.println();
		//截取后的数组为
		System.out.println("截取后的数组为:");
		arraySub(Array,-1,5);
		
    }
}

猜你喜欢

转载自blog.csdn.net/Atalanta1/article/details/84061766