如何解决Java随机百分比机会
有人可以帮助我展示如何用百分比来表示概率/机会吗?
import java.util.Random;
public class Main {
public static void main(String[] args) {
int a = new Random().nextInt(10);
if (a >= 6) {
// 60% chance
System.out.println(a);
System.out.println("You got a passive power");
} else if (a >= 3) {
// 30% chance
System.out.println(a);
System.out.println("You got an active power");
} else if (a >= 1) {
// 10% chance
System.out.println(a);
System.out.println("You got an ultimate power");
} else {
// <10% chance (maybe)
System.out.println(a);
System.out.println("You blessed with all powers.");
}
}
}
我的程序正确吗?
Ty
解决方法
否,您的程序不正确。
呼叫nextInt(10)
时,您会得到一个介于0到9之间(包括0和9)的数字。然后,您可以将其细分为所需的概率范围,而无需重复使用数字:
0 1 2 3 4 5 6 7 8 9
└──────────────┘ └─────┘ ╵
6 / 10 = 60% 30% 10%
这意味着代码应为:
int a = new Random().nextInt(10);
if (a < 6) {
// 60% chance
} else if (a < 9) {
// 30% chance
} else {
// 10% chance
}
或者您可以采用其他方式:
// 0 1 2 3 4 5 6 7 8 9
// ╵ └─────┘ └──────────────┘
// 10% 30% 60%
int a = new Random().nextInt(10);
if (a >= 4) {
// 60% chance
} else if (a >= 1) {
// 30% chance
} else {
// 10% chance
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。