对java数组学习的简单练习:
1.计算数组中最大值; 2.计算数组中最小值;3.计算数组值之和;4.数组拼接;5.数组截取;6.数组打印;7.数组反转。
代码如下:
//Java数组练习题
public class ArrayUtils{
//1.计算数组中最大值
public static int arrayMaxElement(int[] data){
int max,i;
max=data[0];
for(i=1;i<data.length;i++){
if(max<data[i]){
max=data[i];
}
}
return max;
}
//2.计算数组中最小值
public static int arrayMinElement(int[] data){
int min=data[0];
for(int i=1;i<data.length;i++){
if(min>data[i]){
min=data[i];
}
}
return min;
}
//3.计算数组值之和
public static int arrayElementSum(int[] data){
int sum=0;
for(int i=0;i<data.length;i++){
sum=sum+data[i];
}
return sum;
}
//4.数组拼接
public static int[] arrayJoin(int[] a, int[] b){
if(a==null && 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<c.length;i++){
c[i]=b[i-a.length];
}
return c;
}
//5.数组截取
//[start, end)
public static int[] arraySub(int[] data, int start , int end){
if(end<start){
System.out.println("非法始末");
return null;
}
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,right=data.length-1,tmp;
while(left<=right){
tmp=data[left];
data[left]=data[right];
data[right]=tmp;
left++;
right--;
}
}
public static void main(String[] args){
//测试
int[] data={89,67,23,55,62};
int[] a={1,2,3};int[] b={4,5,8,9};
//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);
for(int i=0;i<c.length;i++){
System.out.print(c[i]+" ");
}
System.out.println();
//5.1
int[] a1=arraySub(data,0,2);
for(int i=0;i<2;i++){
System.out.print(a1[i]+" ");
}
System.out.println();
//5.2
int[] a2=arraySub(data,5,5);
for(int i=5;i<5;i++){
System.out.print(a2[i]+" ");
}
System.out.println();
//5.3
int[] a3=arraySub(data,4,1);
for(int i=4;i<1;i++){
System.out.print(a3[i]+" ");
}
System.out.println();
//6
printArray(data);
//7
printReversal(data);
printArray(data);
}
}
运行结果如下: