gpt4 book ai didi

java - 如何解决从四个随机生成的数字中查找最小数字时偶尔出现的错误答案

转载 作者:行者123 更新时间:2023-12-02 08:58:18 24 4
gpt4 key购买 nike

我为 java 类赋值介绍创建了一些基本代码,以使用一个(分配时必须只有一个)决策控制结构从 0 到 10(含)的四个随机生成的数字中找到最小的数字,它可以工作并给出正确答案,但有时会给出错误答案(将附上错误答案的屏幕截图,因为可能需要一段时间才能从随机生成的数字中得到错误答案)。我不确定是什么导致代码有时给出错误的答案。

        //variables
int num1, num2, num3, num4;

//random
num1 = (int) (Math.random() * 10) + 0;
num2 = (int) (Math.random() * 10) + 0;
num3 = (int) (Math.random() * 10) + 0;
num4 = (int) (Math.random() * 10) + 0;

//output
System.out.println("The four random numbers are " +
num1 + ", " + num2 + ", " + num3 + ", and " + num4);

//smallest number decision
if (num1 <= num2 && num1 <= num3 && num1 <= num4) {
System.out.println("The smallest number is " + num1);

} //if end

else if (num2 <= num1 && num2 <= num3 && num1 <= num4) {
System.out.println("The smallest number is " + num2);

} //else if end

else if (num3 <= num1 && num3 <= num2 && num3 <= num4) {
System.out.println("The smallest number is " + num3);
} //else if end

else {
System.out.println("The smallest number is " + num4);
} //else end

输出不正确

enter image description here

enter image description here

最佳答案

问题 ( num1 < num4 ) 位于以下行:

else if (num2 < num1 && num2 < num3 && num1 < num4) 

应该是:

else if (num2 < num1 && num2 < num3 && num2 < num4) 

注意:更简单的方法如下:

// variables
int num1, num2, num3, num4, min;

// random
num1 = (int) (Math.random() * 10) + 0;
num2 = (int) (Math.random() * 10) + 0;
num3 = (int) (Math.random() * 10) + 0;
num4 = (int) (Math.random() * 10) + 0;

// output
System.out.println("The four random numbers are " + num1 + ", " + num2 + ", " + num3 + ", and " + num4);

min = num1;
if (num2 < min) {
min = num2;
}
if (num3 < min) {
min = num3;
}
if (num4 < min) {
min = num4;
}

System.out.println("The smallest number is " + min);

关于java - 如何解决从四个随机生成的数字中查找最小数字时偶尔出现的错误答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60356109/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com