gpt4 book ai didi

java - Magic 8 Ball 始终不打印 java

转载 作者:太空宇宙 更新时间:2023-11-04 09:23:22 24 4
gpt4 key购买 nike

我试图让我的代码按照我添加的百分比在 100% 的时间内运行。百分比按 boolean 值列出。我是java新手,需要任何帮助。这是我的代码,它不会像神奇的 8 球那样一直运行我的代码。

public class Assessment_Unit_1 {
public static void main(String[] args) {
boolean good = Math.random() < .13;
boolean notNow = Math.random() < .37;
boolean yes = Math.random() < .24;
boolean never = Math.random() < .26;
System.out.println("You rolled the Magic 4 Ball:");
System.out.println("All Signs Say:");
if (good) {
System.out.println("Prospects Good");
}
else if (notNow) {
System.out.println("Not now");
}

else if (yes) {
System.out.println("yes");
}

else if (never) {
System.out.println("never");
}
}
}

如有任何帮助,我们将不胜感激!

最佳答案

当您调用 Math.Random() 时,它会返回一个介于 0 和 1 之间的值。因此,第一个 math.random() 可能是返回大于 0.13 的值,下一个返回大于 0.37 的不同数字,下一个 math.random() 返回大于 0.24 的值,下一个返回另一个可能大于 0.26 的不同值...

如果您将 if else 语句更改为 if 语句,则可能会输出多个答案!这显然不是你想要的。

您只想要一个结果,对吗?这是我的假设,概率为 13%、37%、24% 和 26%。你的代码逻辑有点不对劲。根据您的代码结构,您需要定义一个检查四次的单个变量,例如 double rndDecimal = math.random()然后,检查是否rndDecimal > 0 && rndDecimal < 0.13 for the first boolean或者第二个它在 0.13 和 0.5 (0.13 + 0.37) 之间,然后在 0.5 和 0.74 之间,接下来是 0.74 和 1!这总会给你一个结果

关于java - Magic 8 Ball 始终不打印 java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58042240/

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