Java面试题(02)_数组

1) 定义一个int型的一维数组,包含10个元素,分别赋一些随机整数,然后求出所有元素的最大值, 最小值,平均值,和值,并输出出来

public class Test01 {

    public static void main(String[] args) {
        int[] arrayNumber = new int[10];
        
        System.out.println("以下是随机的10个整数");
        for(int i=0;i<arrayNumber.length;i++){
            arrayNumber[i]=(int)(100*Math.random());
        }
        for(int i=0;i<arrayNumber.length;i++)
        {
            System.out.print(arrayNumber[i]+" ");
            
        }
        System.out.println("");
        int max = arrayNumber[0];
        int min = arrayNumber[0];
        int sum = 0;
        for(int i=0;i<arrayNumber.length;i++){
            if(max<arrayNumber[i]){
                max=arrayNumber[i];
            }
            if(min>arrayNumber[i]){
                min = arrayNumber[i];
            }
            sum += arrayNumber[i];
        }
        System.out.println("Max="+max+"\n"+"Min="+min+"\n"+"Sum="+sum);
    }

}

2)定义一个int型的一维数组,包含10个元素,分别赋值为1~10, 然后将数组中的元素都向前移一个位置, 即,a[0]=a[1],a[1]=a[2],…最后一个元素的值是原来第一个元素的值,然后输出这个数组

public class Test02 {

    public static void main(String[] args) {
        int[] arrays= {1,2,3,4,5,6,7,8,9,10};
        
        int temp = arrays[0];
        
        for(int i=0;i<arrays.length-1;i++){
            arrays[i]=arrays[i+1];
        }
        arrays[arrays.length-1] = temp;
        for(int i=0;i<arrays.length;i++){
            System.out.print(arrays[i]+" ");
        }
        
    }

}

3) 编写程序,将一个数组中的元素倒排过来。例如原数组为1,2,3,4,5;则倒排后数组中的值为5,4,3,2,1。

public class Test03 {

    public static void main(String[] args) {
        Integer[] array = {1,2,3,4,5};
        Collections.sort(Arrays.asList(array),new Comparator<Integer>(){
            @Override
            public int compare(Integer a, Integer b) {
                return a>b?-1:a<b?1:0;
            }
        });
        System.out.println(Arrays.toString(array));
    }
}

原文地址:https://www.cnblogs.com/QAZLIU/p/5505310.html