1. 程式人生 > >Java陣列小練習

Java陣列小練習

陣列在每個程式語言中都有著很重要的地位,以下是陣列在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);
	}
}

執行結果:
在這裡插入圖片描述
有任何錯誤之處或者更好的實現方法,歡迎指正。