【数组练习】


一、求最值

定义一个数组{33,5,22,44,55},求最大值

定义数组来存储5个值

 int[] arr ={
    
    33, 5, 22, 44, 55};

临时认为0索引的数据是最大的

int max = arr[0];

拿每一个元素跟max进行比较

 for (int i = 1; i < arr.length; i++) {
    
    
           if(arr[i] > max)
           {
    
    
               max = arr[i];
           }

但循环结束后,max记录的就是最大值

 System.out.println(max);

总代码块:

public class array_test {
    
    
    public static void main(String[] args) {
    
    
        int[] arr ={
    
    33, 5, 22, 44, 55};
        int max = arr[0];
        for (int i = 1; i < arr.length; i++) {
    
    
           if(arr[i] > max)
           {
    
    
               max = arr[i];
           }
        }
        System.out.println(max);
    }
}

二、求和并统计个数

遍历数组求和
需求:生成10个-100之间的随机数存入数组。

  1. 求出所有数据的和
  2. 求出所有数据的平均数
  3. 统计有多少个数据比平均值小

(1)定义数组

 int[] arr = new int[10];

(2)生成随机数

  Random r = new Random();

(3)把随机数存入数组中


        for (int i = 0; i < arr.length; i++) {
    
    
            int number = r.nextInt(100) + 1;
            arr[i] = number;
        }
  1. 求出所有数据的和
    定义求和变量
 int sum = 0;

循环得到每一个元素,并加到sum中

 for (int i = 0; i < arr.length; i++) {
    
    
            sum = sum + arr[i];
        }

求出所有数据的平均数

int avg = sum / arr.length;
        System.out.println("平均数是:" + avg);

统计有多少个数据比平均值小

 int count = 0;
        for (int i = 0; i < arr.length; i++) {
    
    
            if(arr[i] < avg){
    
    
                count++;
            }
        }
        System.out.println("随机数中比平均数小的有" + count + "个");

可以打印出数据进行验证

 for (int i = 0; i < arr.length; i++) {
    
    
            System.out.print(arr[i] + " ");
        }

总代码块:

import java.util.Random;

public class array_test{
    
    
    public static void main(String[] args) {
    
    
        int[] arr = new int[10];
        Random r = new Random();

        for (int i = 0; i < arr.length; i++) {
    
    
            int number = r.nextInt(100) + 1;
            arr[i] = number;
        }
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
    
    
            sum = sum + arr[i];
        }
        System.out.println("数组和是:" + sum);

        int avg = sum / arr.length;
        System.out.println("平均数是:" + avg);

        int count = 0;
        for (int i = 0; i < arr.length; i++) {
    
    
            if(arr[i] < avg){
    
    
                count++;
            }
        }
        System.out.println("随机数中比平均数小的有" + count + "个");

        for (int i = 0; i < arr.length; i++) {
    
    
            System.out.print(arr[i] + " ");
        }
    }
}

三、交换数据

需求:定义一个数组,存入1,2,3,4,5,按照要求交换索引对应的元素

  • 交换前:1,2,3,4,5
  • 交换后:5,4,3,2,1

(1)定义数组存储数据

 int[] arr ={
    
    1, 2, 3, 4, 5};

(2)利用循环交换数据

 for(int i = 0,j = arr.length-1;i < j;i++,j--){
    
    
            int temp = arr[i];
            arr[i] = arr[j];
            arr[j] = temp;
        }

(3)打印输出数据

  for (int i = 0; i < arr.length; i++) {
    
    
            System.out.print(arr[i] + " ");
        }

总代码块:

public class array_test {
    
    
    public static void main(String[] args) {
    
    
        int[] arr ={
    
    1, 2, 3, 4, 5};
        for(int i = 0,j = arr.length-1;i < j;i++,j--){
    
    
            int temp = arr[i];
            arr[i] = arr[j];
            arr[j] = temp;
        }
        for (int i = 0; i < arr.length; i++) {
    
    
            System.out.print(arr[i] + " ");
        }
    }
}

四、打乱数据

需求:定义一个数组,存入1-5。要求打乱数组中所有数据的顺序(随机打乱)

定义数组存储1-5

int[] arr = {
    
    1, 2, 3, 4, 5};

循环遍历数组,从0索引开始打乱数据的顺序

 Random r= new Random();
        for (int i = 0; i < arr.length; i++) {
    
    
            int randomIndex = r.nextInt(arr.length);
            int temp = arr[i];
            arr[i] = arr[randomIndex];
            arr[randomIndex] = temp;
        }

输出打乱顺序后的数据

 for (int i = 0; i < arr.length; i++) {
    
    
            System.out.print(arr[i] + " ");
        }

总代码块:

import java.util.Random;

public class array_test {
    
    
    public static void main(String[] args) {
    
    
        int[] arr = {
    
    1, 2, 3, 4, 5};
        Random r= new Random();
        for (int i = 0; i < arr.length; i++) {
    
    
            int randomIndex = r.nextInt(arr.length);
            int temp = arr[i];
            arr[i] = arr[randomIndex];
            arr[randomIndex] = temp;
        }
        for (int i = 0; i < arr.length; i++) {
    
    
            System.out.print(arr[i] + " ");
        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_64451048/article/details/127719970