Java:定義五個函式,分別實現①計算陣列的最大值MAX②最小值MIN③陣列和SUM④拼接兩個陣列a和b⑤擷取a陣列的一部分
阿新 • • 發佈:2018-12-19
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); } }