1. 数组元素的赋值(杨辉三角、回形数等)
  2. 求数值型数组中元素的最大值、最小值、平均数、总和等

    • 定义一个int型的一维数组,包含10个元素,分别赋一些随机整数,然后求出所有元素的最大值,最小值,和值,平均值,并输出出来。要求:所有随机数都是两位数。
public class ArrayTest {
    public static void main(String[] args) {
        int[] arr = new int[10];
        for(int i = 0; i < arr.length; i++){
            arr[i] = (int)(Math.random() * 90 +10);
        }
        
        //遍历数组
        for(int i = 0; i < arr.length; i++){
            System.out.print(arr[i] + "\t");
        }
        //求最大值
        int numMax = 0;
        for(int i = 0; i < arr.length; i++){
            if(numMax < arr[i]){
                numMax = arr[i];
            }
        }
        System.out.println();
        System.out.println(numMax);
        //求最小值
        int numMin = arr[0];
        for(int i = 0; i < arr.length; i++){
            if(numMin > arr[i]){
                numMin = arr[i];
            }
        }
        System.out.println(numMin);
        //求和值
        int sum = 0;
        for(int i = 0; i < arr.length; i++){
            sum += arr[i];
        }
        System.out.println(sum);
        //求平均值
        double avgValue = (double)sum / arr.length;
        System.out.println(avgValue);
    }
}
  1. 数组的复制、反转、查找
public class ArrayTest02 {
    public static void main(String[] args){
            String[] array1 = new String[]{"KK","GG","BB","SS","YY"};
            String[] array2 = new String[array1.length];
            //数组的复制
            for(int i = 0; i < array1.length; i++){
                array2[i] = array1[i];
            }
            
            //数组的反转
            for(int i = 0; i < array1.length / 2; i++){
                String temp = array1[i];
                array1[i] = array1[array1.length - i - 1];
                array1[array1.length - i - 1] = temp;
            }
            /**
             * 方法二
            for(int i = 0,j = array1.length - 1; i < j; i++,j--){
                String temp = array1[i];
                array1[i] = array1[j];
                array1[j] = temp;
            }
            */
            //遍历测试
            for(int i = 0;i < array1.length;i++){
                System.out.print(array1[i] + "\t");
            }
            //数组查找
            //线性查找
            String dest = "GG";
            boolean isFlag = true;
            for(int i = 0; i < array1.length; i++){
                if(dest.equals(array1[i])){
                    System.out.println("找到了指定的元素,位置为:" + i);
                    isFlag = false;
                    break;
                }
            }
            if(isFlag){
                System.out.println("很遗憾,没有找到的啦!");
                
            }
            //二分法查找:(熟悉)
            //前提:所要查找的数组必须有序。
            int[] arr2 = new int[]{-98,-34,2,34,54,66,79,105,210,333};
            
            int dest1 = -34;
            int head = 0;//初始的首索引
            int end = arr2.length - 1;//初始的末索引
            boolean isFlag1 = true;
            while(head <= end){
                
                int middle = (head + end)/2;
                
                if(dest1 == arr2[middle]){
                    System.out.println("找到了指定的元素,位置为:" + middle);
                    isFlag1 = false;
                    break;
                }else if(arr2[middle] > dest1){
                    end = middle - 1;
                }else{//arr2[middle] < dest1
                    head = middle + 1;
                }

                
            }
            
            if(isFlag1){
                System.out.println("很遗憾,没有找到的啦!");
            }
    }
}
最后修改:2021 年 07 月 23 日 08 : 30 PM
如果觉得我的文章对你有用,请随意赞赏