[数组练习题]查找数组最大值最小值,大于等于60的数的个数 (保姆级:一行一注释)(一图流)


题干

提示:这段是题干,仔细阅读仔细分析:

获取数组最大值和最小值操作:
1.利用Java的Math类的random()方法,编写函数得到0到n之间的随机数,n是参数。
2.并找出产生50个这样的随机数中最大的、最小的数,并统计其中>=60的有多少个。
提示:使用 int num=(int)(n*Math.random());获取随机数


提示:以下是本篇文章正文内容,下面案例可供参考

一、题目分析

1.定义数组

2.定义计数器,最大值最小值

3.写方法:生成随机数,存放进数组中

4.调用方法

5.冒泡排序

6.遍历判断大于等于60的数个数

7.赋值:最大值最小值

8.打印输出

二、代码

1.代码块

代码如下(示例):

public class Work2 {
    /*程序主入口*/
    public static void main(String[] args) {

        /*因为题干要求产生50个随机数,所以定义一个数组,长度为50*/
        int[] array = new int[50];


        /*定义一个计数器,后续用来判断>=60的数有多少个*/
        int count = 0;


        /*定义max记录最大值,先暂且认为最大值是数组中第一个数*/
        /*后续还会判断具体那个是最大值*/
        /*array[0]表示数组中第一个数*/
        int max = array[0];


        /*定义min记录最小值,先暂且认为最小值是数组中第一个数*/
        /*array[0]表示数组中第一个数*/
        int min = array[0];


        /*调用本类的非静态方法*/
        Work2 w = new Work2();
        w.random1(array, 101);//传入参数,传入一个数组和n      n代表生成的随机数范围
        /*        int num=(int)(n*Math.random());       用此公式得到随机数范围为[0,n)          */
              /*    此题我传入n=101,则随机数范围wei[0,101)  即为>=0且<101的整数     */




        /*冒泡排序公式,将数组中大的元素放前面,小的放后面*/
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array.length; j++) {
                if (array[i] > array[j]) {
                    int temp = array[i];
                    array[i] = array[j];
                    array[j] = temp;
                }
            }
        }


        /*排序之后最大的数就是数组中第一个数,也就是array[0]*/
        max = array[0];


        /*排序之后最小的数就是数组中最后一个数,也就是array[array.length-1]*/
        /*因为数组下标从0开始,所以array[0]是第一个元素*/
        /*所以最后一个元素并不是array[长度],而是array[长度-1]*/
        min = array[array.length-1];



        /*输出数组看看长啥样,但是此题没要求打印数组,可以不要这行*/
        System.out.println(Arrays.toString(array));

        /*遍历数组,找大于等于60的数*/
        for (int i = 0; i < array.length; i++) {

            /*判断如果>=60,计数器就+1;*/
            /*for循环遍历完就得到了>=60的数的个数*/
            if (array[i] >= 60) {
                count++;
            }
        }

        /*打印输出最大值,最小值,>=60数的个数*/
        System.out.println(max);
        System.out.println(min);
        System.out.println(count);


    }

    /*方法*/
    /*用于生成随机数 随机数的范围为   [0,n)  */
    public int[] random1(int[] array, int n) {
        for (int i = 0; i < array.length; i++) {
            array[i] = (int) (n * Math.random());
        }
        return array;
    }
}

2.一图流

一图解决困惑666


总结

这是一道数组练习题,本文是我的个人理解,希望对你也能有所帮助!

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值