随机数组中的最小数量及其索引

时间:2015-12-04 15:36:33

标签: java arrays for-loop

问题是找到随机数组50中的最小数字。它应该在0-100和它的索引之间。我不知道我的代码有什么问题。它打印了多个最小值,但我还没有找到限制数组的方法:

enter image description here

3 个答案:

答案 0 :(得分:0)

您不应在“for”循环内打印。

循环确定哪个值是最小值。 结束后,打印结果。

for{
...
...
}

System.out.println(Minimum);

答案 1 :(得分:0)

您没有正确生成随机数。

要查找0..99范围内的随机数,请使用

Random r = new Random();
int randomInt = r.nextInt(100);

试试这个

    public class RandomTest {

    public static void main(String[] args) {
        int arr[] = new int[50];
        Random r = new Random();
        for (int i = 0; i < arr.length; i++) {
            arr[i] = r.nextInt(100);
            System.out.println(arr[i]);
        }
        int minimum = arr[0];
        for (int j = 1; j < arr.length; j++) {
            if (minimum > arr[j])
                minimum = arr[j];
        }
        System.out.println("Minimum value-->" + minimum);

    }
}

<强>输出

输出会根据生成的数字而有所不同。就我而言,我得到了

Minimum value-->4

答案 2 :(得分:0)

您可以使用以下代码:

int[] a = ...; // after random for

int min = a[0];
int minIndex = 0;        
for(int i = 1; i < a.length(); i++) {
    if(a[i] < min) {
       min = a[i];    
       minIndex = i;
    }
}
System.out.println(minIndex);