数组在每个编程语言中都有着很重要的地位,以下是数组在Java语言中的一些简单练习题:
1.计算数组中最大值
2.计算数组中最小值
3.计算数组值之和
4.数组拼接
5.数组截取
6.数组打印
7.反转数组
代码展示:
public class ArrayUtils{
//1.计算数组中最大值
public static int arrayMaxElement(int[] data){
int max=data[0];
int i;
for(i=0;i<data.length;i++){
max=(max>data[i]?max:data[i]);
}
return max;
}
//2.计算数组中最小值
public static int arrayMinElement(int[] data){
int min=data[0];
int i;
for(i=0;i<data.length;i++){
min=(min>data[i]?data[i]:min);
}
return min;
}
//3.计算数组值之和
public static int arrayElementSum(int[] data){
int sum=0;
int i=0;
for(i=0;i<data.length;i++){
sum=sum+data[i];
}
return sum;
}
//4.数组拼接
public static int[] arrayJoin(int[] a, int[] b){
int[] c=new int[a.length+b.length];
int i=0;
for(i=0;i<a.length;i++){
c[i]=a[i];
}
for(i=a.length;i<a.length+b.length;i++){
c[i]=b[i-a.length];
}
System.out.print("拼接数组:");
return c;
}
//5.数组截取
//[start, end)
public static int[] arraySub(int[] data, int start , int end){
int[] array=new int[end-start];
int i=0;
if(start<end&&start>0&&end<data.length){
for(i=0;i<end-start;i++){
array[i]=data[i+start];
}
}
else{
System.out.print("非法");
}
System.out.print("截取数组从下标"+start+"到下标"+end+","+"打印数组:");
return array;
}
//6.数组打印
public static void printArray(int[] data){
int i=0;
for(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[] arr=new int[data.length];
int i=0;
for(i=0;i<data.length;i++){
arr[i]=data[data.length-i-1];
}
System.out.print("反转后的数组:");
printArray(arr);
}
//测试
public static void main(String[] args){
int[] data={54,37,86,60,65,99,23};
int[] a={1,2,3,4};
int[] b={5,6,7,8};
//1
int max=arrayMaxElement(data);
System.out.println("数组最大值"+max);
//2
int min=arrayMinElement(data);
System.out.println("数组最小值"+min);
//3
int sum=arrayElementSum(data);
System.out.println("数组之和"+sum);
//4
int[] c=arrayJoin(a,b);
System.out.print("拼接数组:");
printArray(c);
//5
int[] array=arraySub(data,2,6);
printArray(array);
//7
printReversal(data);
}
}
运行结果:
有任何错误之处或者更好的实现方法,欢迎指正。