求取数组中的最大值,最小值,平均值,并实现数组拼接与数组截取。
/**
* Author: PuTongFish
* Create:2019/1/15
*/
public class ArrayUtils {
//计算数组中最大值
public static int arrayMaxElement(int[] data){
if(data ==null){
return 0;
}
for(int i=0;i<data.length;i++){
if(data[i]>data[0]){
data[0] = data[i];
}
}
return data[0];
}
//计算数组中最小值
public static int arrayMinElement(int[] data){
if(data == null){
return 0;
}
for(int i=0;i<data.length;i++){
if(data[i]<data[0]){
data[0] = data[i];
}
}
return data[0];
}
//计算数组元素之和
public static int arrayElementSum(int[] data){
if(data ==null){
return 0;
}
int sum = 0;
for(int i=0;i<data.length;i++) {
sum += data[i];
}
return sum;
}
//数组拼接
public static int[] arrayJoin(int[] a,int[] b){
if(a==null){
return null;
}
if(b==null){
return null;
}
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<(a.length+b.length);i++){
c[i] = b[i-(a.length)];
}
return c;
}
//数组截取
public static int[] arraySub(int[] a,int start,int end){
int count = end-start;
if(a == null){
return null;
}
if(start<0||end<0){
return null;
}
if(end<start){
return null;
}
if(start>a.length){
return null;
}
if(count>a.length){
return null;
}
int[] b = new int[count];
for(int i=start;i<end;i++){
b[i-start] = a[i];
}
return b;
}
public static void printArray(int[] data){
for(int i=0;i<data.length;i++){
System.out.print(data[i]+" ");
}
System.out.println();
}
public static void main(String[] args) {
int[] data = new int[]{1,2,7,6,5,8};
int[] src = new int[]{12,14,4,9};
int max = arrayMaxElement(data);
System.out.println("最大值:"+max);
int min = arrayMinElement(data);
System.out.println("最小值:"+min);
int sum = arrayElementSum(data);
System.out.println("平均值:"+sum);
int[] join = arrayJoin(data,src);
System.out.println("数组拼接:");
printArray(join);
int[] sub = arraySub(data,1,4);
System.out.println("数组截取:");
printArray(sub);
}
}
运行结果如下图所示: