如何在随机整数数组中找到最小和最大的元素?

时间:2016-11-03 23:55:25

标签: java arrays

大家好,我正在编写一个程序来完成下面的工作。我无法弄清楚如何写它。我只知道如何生成随机整数,但除此之外,我完全失去了。如果你们帮助我,我会很高兴的! 创建一个大小为10的数组的程序,并用1到100之间的随机整数填充它。程序然后输出数组中最大和最小的整数。

这是我到目前为止所做的:

public class LargestSmallest
{
    public static void main (String [] args)
    {
        int [] number = new int [2];
        System.out.println ("The random numbers generated are: ");
        for (int count =0; count < number.length ; count++)
        {
            number[count] = (int)(Math.random()*100+1);
            System.out.println (number[count]);
        }
    }
}

2 个答案:

答案 0 :(得分:2)

在代码的开头,声明几个变量以跟踪您的最小值和最大值。将您的最小值跟踪设置为一个值,该值将高于您将生成的任何值(以便第一次检查时,它将保证更新)并保持跟踪最大值小于您将生成的任何值的值。

int min = Integer.MAX_VALUE;
int max = Integer.MIN_VALUE;

在生成随机数时,请进行快速比较并更新新数字。

if (number[count] < min)
    min = number[count];
if (number[count] > max)
    max = number[count];

或者,如果您需要生成数字,然后找到最小值和最大值,请编写一个简单的for循环来迭代数组并执行相同的操作。

for (int i = 0; i < number.length; i++) {
    /* Comparison and storage code here */
}

答案 1 :(得分:-1)

这适用于您的随机功能:

public static void main(String[] args) 
{
    int[] number = new int[100];
    System.out.println("The random numbers generated are: ");
    for (int count = 0; count < number.length; count++)
    {
        number[count] = (int) (Math.random() * 100 + 1);
        System.out.println(number[count]);
    }
    int min = 101;
    int max = 0;

    for (int i = 0; i < number.length; i++)
    {
        if (number[i] < min)
        {
            min = number[i];
        }
        if (number[i] > max)
        {
            max = number[i];
        }
    }
    System.out.println("Max:" + max);
    System.out.println("Min:" + min);
}