1.计算数组中最大值 2.计算数组中最小值 3.计算数组值之和 4.数组拼接 5.数组拼接 6.数组打印 7.数组反转
public class ArrayUtils{
//1.计算数组中最大值
public static int arrayMaxElement(int[] data){
int max = data[0];
for(int i=1; i<data.length; i++){
if(data[i] < max){
max = data[i];
}
}
System.out.println(max);
return -1;
}
//2.计算数组中最小值
public static int arrayMinElement(int[] data){
int min = data[0];
for(int i = 1; i < data.length; i++){
if(data[i] < min){
min = data[i];
}
}
System.out.println(min);
return -1;
}
//3.计算数组值之和
public static int arrayElementSum(int[] data){
int sum = data[0];
for(int i = 1; i < data.length; i++){
sum = sum + data[i];
}
System.out.println(sum);
return -1;
}
//4.数组拼接
public static int[] arrayJoin(int[] a, int[] b){
int[] c = new int[a.length + b.length];
for(int i = 0; i < a.length; i++){
c[i] = a[i];
System.out.print(c[i]+" ");
}
for(int i = a.length; i < c.length; i++){
c[i] = b[i - a.length];
System.out.print(c[i]+" ");
}
return c;
}
//5.数组截取
//[start, end)
public static int[] arraySub(int[] data, int start , int end){
if(end < start){
System.out.println("非法始末");
}
int[] a = new int [end - start+1];
if(start > data.length || start < 0){
System.out.println("起始位置超出数组界限");
}
if(end > data.length){
end = data.length;
}
for(int i = start; i < end; i++){
a[i] = data[i];
}
return a;
}
//6.数组打印
public static void printArray(int[] data){
for(int i = 0; i < data.length; i++){
System.out.print(data[i]+" ");
}
System.out.println();
}
//7.数组反转
// 比如:[1,2,3,4] => [4,3,2,1]
public static void printReversal(int[] data){
int left = 0;
int right = data.length-1;
int tmp = 0;
while(left <= right){
tmp = data[left];
data[left] = data[right];
data[right] = tmp;
left++;
right--;
}
}
// 测试
public static void main(String[] args){
int[] a = {1,2,3,4};
int[] b = {5,6,7,8};
int[] data = {20,21,22,23,25};
//max
arrayMaxElement(a);
arrayMaxElement(b);
arrayMaxElement(data);
System.out.println();
//min
arrayMinElement(a);
arrayMinElement(b);
arrayMinElement(data);
System.out.println();
//sum
arrayElementSum(a);
arrayElementSum(b);
arrayElementSum(data);
System.out.println();
//数组拼接
arrayJoin(a,b);
System.out.println();
//数组截取
int[] d = arraySub(data,1,3);
for(int i = 1; i < 3; i++){
System.out.print(d[i]+" ");
}
System.out.println();
//数组打印
printArray(data);
System.out.println();
//数组反转
printReversal(a);
printArray(a);
System.out.println();
}
}