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);
}
}