1. 程式人生 > >Java:定義五個函式,分別實現①計算陣列的最大值MAX②最小值MIN③陣列和SUM④拼接兩個陣列a和b⑤擷取a陣列的一部分

Java:定義五個函式,分別實現①計算陣列的最大值MAX②最小值MIN③陣列和SUM④拼接兩個陣列a和b⑤擷取a陣列的一部分

import java.io.IOException;
public class Arr8{

	//1.計算陣列中最大值
	 public static int arrayMaxElement(int [] data){
		if(data == null){
        throw new IllegalArgumentException("你給定的陣列為空");
		int max = Integer.MIN_VALUE;
		for(int i=0;i<data.length;i++){
		   if(data[i]>max){
			   max=data[i];
		   }
         }
		return max;
       }
	   
	   //2.計算陣列中最小值
    public static int arrayMinElement(int [] data){
		if(data == null){
        throw new IllegalArgumentException("你給定的陣列為空");
		int min = Integer.MAX_VALUE;
		for(int i=0;i<data.length;i++){
		   if(data[i]<min){
			   min=data[i];
		   }
		}
        return min;
    }
    
	    //3.計算陣列值之和
    public static int arrayElementSum(int [] data){
		if(data == null){
        throw new IllegalArgumentException("你給定的陣列為空");
		int sum=0;
        for(int i=0;i<data.length;i++){
			sum+=data[i];
		}
        return sum;
    }
	   
	   //4.陣列拼接
    public static int[] arrayJoin(int[] a, int[] b){
		if(a ==null){
            throw new IllegalArgumentException("a陣列,你給定的陣列為空");
        }
        if(b == null){
            throw new IllegalArgumentException("b陣列,你給定的陣列為空");
        }
		int []c=new int[a.length+b.length];
        for(int i=0; i<a.length; i++){
            c[i]=a[i];
        }
        for(int i=a.length; i<c.length;i++){
            c[i]=b[i-a.length];
        }
		    System.out.println("兩個陣列的拼接");
		for(int i=0; i<c.length;i++){
            System.out.println("c["+i+"]="+c[i]+"\t");
        }
        return c;
    }
    
	   //5.陣列擷取
    public static int[] arrayJoin(int[] a, int start , int end){
		if(a==null){
           throw new IllegalArgumentException("陣列為空");
        }
        if(start < 0 || end < 0){
            throw new IllegalArgumentException("開始的下標和結束的下標需要大於0");
        }
        if(end < start){
            throw new IllegalArgumentException("開始的下標需要小於結束的下標");
        }
        if(start>=a.length){
            throw new IllegalArgumentException("開始的下標必須小於陣列的長度");
        }
		int count=end-start;
		int[]c=new int[count];
		for(int i=start;i<end;i++){
			c[i-start]=a[i];
		}
		    System.out.println("陣列的擷取從2-5");
		for(int i=start;i<end;i++){
			System.out.println("a["+i+"]="+c[i-start]+"\t");
		}
        return c;
    }
	
	
	   //函式呼叫
	public static void main(String[] args){
		int[]data=new int[]{1,5,4,7,8,9,11,15,13};
		int[]data2=new int[]{18,20,33,55};
		int max=0;
		int min=0;
		for(int i=0; i<data.length;i++){
            System.out.println("data["+i+"]="+data[i]);
        }
		System.out.println("陣列data最大值"+(max=arrayMaxElement(data)));	
		System.out.println("陣列data最小值"+(min=arrayMinElement(data)));
		System.out.println("陣列data的和是"+arrayElementSum(data));
		arrayJoin(data,data2);
		arrayJoin(data,2,5);
	}
}	


在這裡插入圖片描述