Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.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 如何在没有数组的情况下找到50个随机数中的最大值和最小值?_Java - Fatal编程技术网

Java 如何在没有数组的情况下找到50个随机数中的最大值和最小值?

Java 如何在没有数组的情况下找到50个随机数中的最大值和最小值?,java,Java,尝试在Java中不使用数组打印出50个随机数中的最大值和最小值。它不起作用了,我很困惑。有人能帮忙吗?谢谢 public static void main() { int smallest = 0, biggest = 0; for (int i = 0; i < 50; i++) { int randomNum = (int)(Math.random() * 100) + 1; System.out.println(randomNum);

尝试在Java中不使用数组打印出50个随机数中的最大值和最小值。它不起作用了,我很困惑。有人能帮忙吗?谢谢

public static void main() {
    int smallest = 0, biggest = 0;
    for (int i = 0; i < 50; i++) {
        int randomNum = (int)(Math.random() * 100) + 1;
        System.out.println(randomNum);
        smallest = randomNum;
        if (randomNum > biggest) {
            biggest = randomNum;
        }
        if (randomNum < smallest) {
            smallest = randomNum;
        }
    }
    System.out.println("Smallest was " + smallest + ", biggest was " + biggest);
}

您应该将最小值初始化为Integer.MAX_值,将最大值初始化为Integer.MIN_值,然后在循环中只需删除minimate=randomNum;它会起作用的,你的问题是主要的在哪里,它没有
public static void mainString[]args

请解释:它在哪些方面不起作用。删除此最小值=randomNum;这是行不通的——这样的声明本身是毫无用处的,否则你就不会问了。请说明它以何种方式不起作用,即你期望得到什么,你得到了什么?此外,使用调试器逐步检查代码会很快发现问题。您在循环中放入了minimate=randomNum,因此每个循环都会覆盖最小的。由于Scott删除了他的答案,我将在这里重复他的观点:int minimate=0也会导致问题,因为您的随机数都不会小于0。如果您知道要检查至少一个数字,并且您知道应该将最小值初始化为Integer.MAX_值,将最大值初始化为Integer.MIN_值。这听起来有悖常理,但这样一来,您的第一个数字将始终小于最小值,大于最大值,这是一个正常的过程。因此,请尝试将您的公共静态void main更改为公共静态void mainString[]参数,然后它将工作。但还有更多的日本航空公司。没有提到该计划根本没有运行,因此似乎主签名不是问题。更可能的是,这是实现中的一个逻辑问题。是否有其他方法来初始化它们?我们的老师没有教我们Integer.MAX/MIN_值,他不太可能希望我们这么做。Math.random*100给你一个介于0和100之间的随机值,所以将你的MIN初始化为100,将MAX初始化为0。但一般来说,在搜索MIN和MAX时,总是将它们初始化为oposite最大值,通过这种方式,您知道您将读取的值,它将小于您的最小值,大于您的最大值。