随机数组求最大值、最小值、平均数、总和(需要注意的点)

题目描述:

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

要求:所有随机数都是两位数。[10,99]

解析:

在本题中,最为需要注意的点有:
1)、如何使用Java自带的产生随机数的函数,产生一定范围的数
2)、在比较最大值与最小值的时候,我们可以以开头的元素为基准,防止出现错误

下面是产生特定随机数的方法总结:

[0.0,1) Math.random():
[0.0,90.0) Math.random()*90:
[0,89] (int)Math.random()*90:
[10,99] (int)(Math.random()90+10):
公式:获取[a,b]范围的随机数:(int)(Math.random()
(b-a+1))+a

public class ArrayTest1 {
    public static void main(String[] args) {
        int[] arr = new int[10];  //定义一个长度为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");
        }
        System.out.println();

        //找出数组中的最大值
        int max = arr[0];  //不赋值为0 的原因如果都是负数的话,输出的结果都为0
        for (int i = 0; i < arr.length; i++) {
            if(max<arr[i]) {
                max = arr[i];
            }
        }
        System.out.println("随机数中的最大值为:"+max);

        int min = arr[0];  //不赋值为0 的原因如果都是负数的话,输出的结果都为0
        for (int i = 0; i < arr.length; i++) {
            if(min>arr[i]) {
                min = arr[i];
            }
        }
        System.out.println("随机数中的最小值为:"+max);

        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);
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章