Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 随机数组中的最小数及其索引_Java_Arrays_For Loop - Fatal编程技术网

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

Java 随机数组中的最小数及其索引,java,arrays,for-loop,Java,Arrays,For Loop,问题是找到随机数组中的最小数50个数字。它应该在0-100和它的索引之间。我不知道我的代码出了什么问题。它打印多个最小值,我还没有找到限制数组的方法: 您不应该在“for”循环内打印 循环确定哪个值是最小值。 结束后,打印结果 for{ ... ... } System.out.println(Minimum); 您没有正确生成随机数 要查找范围为0..99的随机数,请使用 Random r = new Random(); int randomInt = r.nextInt(100); 试

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


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

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

for{
...
...
}

System.out.println(Minimum);

您没有正确生成随机数

要查找范围为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);

    }
}

您可以使用以下代码:

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);
int[]a=…;//随机后
int min=a[0];
int minIndex=0;
对于(int i=1;i
请在问题中发布您的代码,而不是指向代码屏幕截图的链接。它似乎不是指向多个一,而是找到一个比它在循环时找到的上一个最小值小的最小值。。。您需要在完成搜索后输出结果。。。循环结束后,即使在循环外打印结果相同OK,多次打印值怎么样,我只想打印一次,我真的很感激:)你可以在
I=1
开始循环,是的,但这不是错误,只是一次假迭代。固定的
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);