栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java练习题——数组

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java练习题——数组

Java练习题——数组 前言

本文一共包含了5道题,都是有关于数组知识点

1. 遍历数组求和:随机生成10个1-100的数并放入数组后求他们的和

解题思路

  1. 定义一个长度为10的动态数组
  2. 每生成一个随机数就将其放入数组内(为动态数组内元素赋值)
  3. 利用累加法求和
  4. 打印输出结果

参考代码

public class test {
    public static void main(String[] args) {
        Random r = new Random();
        int[] arr = new int[10];
        int sum = 0 ;
        //给动态数组内元素赋值,并打印输出
        for (int i = 0; i < arr.length; i++) {
            int number = r.nextInt(100)+1;
            arr[i] = number;
            System.out.print(arr[i] + " ");
        }
        //运用累加法求和
        for (int i = 0; i < arr.length; i++) {
            sum += arr[i];
        }
		//打印输出结果
        System.out.println("n所有数据的和是:" + sum);
    }
}
2.遍历数组求平均数:随机生成10个1-100的数并放入数组后求他们的平均数

此题只要在上一题得出结果后再求平均数即可

解题思路

  1. 定义一个长度为10的动态数组
  2. 每生成一个随机数就将其放入数组内(为动态数组内元素赋值)
  3. 利用累加法求和
  4. 求平均数
  5. 打印输出结果

参考代码

public class test {
    public static void main(String[] args) {
        Random r = new Random();
        int[] arr = new int[10];
        int sum = 0 ;
        //给动态数组内元素赋值,并打印输出
        for (int i = 0; i < arr.length; i++) {
            int number = r.nextInt(100)+1;
            arr[i] = number;
            System.out.print(arr[i] + " ");
        }
        //运用累加法求和
        for (int i = 0; i < arr.length; i++) {
            sum += arr[i];
        }
        //求平均数
		double result = sum /10.0;
		//打印输出结果
        System.out.println("n所有数据的平均值是:" + result);
    }
}
3.遍历数组求比平均值小的个数:随机生成10个1-100的数并放入数组后求元素比平均数小的个数

有了上面两题的铺垫,只需要在上述程序中添加比较的语句即可

解题思路

  1. 定义一个长度为10的动态数组
  2. 每生成一个随机数就将其放入数组内(为动态数组内元素赋值)
  3. 利用累加法求和
  4. 求平均数
  5. 定义一个初始值为0的计数器
  6. 遍历数组,当元素小于平均值时计数器的值加1
  7. 打印输出结果
import java.util.Random;
public class 遍历数组求和2 {
    public static void main(String[] args) {
        Random r = new Random();
        int[] arr = new int[10];
        int sum = 0 , count = 0;
        //给动态数组内元素赋值,并打印输出
        for (int i = 0; i < arr.length; i++) {
            int number = r.nextInt(100)+1;
            arr[i] = number;
            System.out.print(arr[i] + " ");
        }
        //运用累加法求和
        for (int i = 0; i < arr.length; i++) {
            sum += arr[i];
        }
        //求平均数
        double result = sum /10.0;
        //计算比平均数小的元素个数
        for (int i = 0; i < arr.length; i++) {
           if(arr[i] < result) {
               count++;
           }
        }
        //打印输出结果
        System.out.println("有" + count +"个数据比平均值小");
    }
}
4.遍历数组,求数组中最大值:随机生成10个1-100的数并放入数组后求他们中最大值

解题思路

  1. 定义一个长度为10的动态数组
  2. 每生成一个随机数就将其放入数组内(为动态数组内元素赋值)
  3. 设最大值max是数组内第一个数
  4. 如果在遍历中有比max大的,那么比它大的那个设为是max,覆盖初始值
  5. 遍历完成后最终的值就是最大值,打印输出即可
import java.util.Random;
public class 求数组中最大的数 {
    public static void main(String[] args) {
        Random r = new Random();
        //定义一个长度为10的动态数组
        int[] arr = new int [10];
        //给动态数组内元素赋值,并打印输出
        for (int i = 0; i < arr.length; i++) {
            int number = r.nextInt(100)+1;
            arr[i] = number;
            System.out.print(arr[i] + " ");
        }
        //设最大值为第一个元素
        int max = arr[0];
        //遍历数组求最大值
        for (int i = 0; i < arr.length; i++) {
            if(arr[i] > max){
                max = arr [i];
            }
        }
        //打印输出结果
        System.out.println("n数组中最大的数是:" + max);
    }
}

5.打乱数组中的数:给出一个含有5个元素的数组,将数组内元素顺序完全打乱

解题思路

  1. 定义一个长度为5的静态数组
  2. 随机生成一个0-5的数字作为要交换的下标数
  3. 将第一个到最后一个数依次数随机与其他数交换
  4. 遍历数组,打印输出此时数组的值
import java.util.Random;
public class 打乱数组中的数 {
    public static void main(String[] args) {
        Random r = new Random();
        //定义一个静态数组
        int[] arr = {1,2,3,4,5};
        //交换数组内的值
        for (int i = 0 ; i<=3 ; i++){
            int number = r.nextInt(5);
            int temp = arr[i];
            arr[i] = arr[number];
            arr[number] = temp;
        }
        //遍历数组并打印输出
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
}
结语

本文的题目都比较基础,如果有更加简洁的解法欢迎留言评论

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1019734.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号