Java 三个浮点数的概率
如何在代码中实现这一点我正在接受用户输入的三个独立浮点数,它们必须加在一个浮点数上(即:333333、.333333333、.333333333)。这些数字是随机选取一个数字(-1,0,1)的概率Java 三个浮点数的概率,java,Java,如何在代码中实现这一点我正在接受用户输入的三个独立浮点数,它们必须加在一个浮点数上(即:333333、.333333333、.333333333)。这些数字是随机选取一个数字(-1,0,1)的概率 if(new Random().nextDouble()三个浮点数加起来正好等于1.0的可能性非常低,因为许多(大多数)实数不能精确地表示为浮点数。您最好输入两个数字并计算第三个数字,这将保证它们加起来等于1.0。公共静态void main(String[]args){ public static v
if(new Random().nextDouble()三个浮点数加起来正好等于1.0的可能性非常低,因为许多(大多数)实数不能精确地表示为浮点数。您最好输入两个数字并计算第三个数字,这将保证它们加起来等于1.0。公共静态void main(String[]args){
public static void main(String[] args) {
double[] probs = readProbabilities();
double random = new Random().nextDouble();
int randomNumber;
if (random <= probs[0]) {
randomNumber = -1;
} else if (random <= (probs[0] + probs[1])) {
randomNumber = 0;
} else {
randomNumber = 1;
}
System.out.println("Random Number is " + randomNumber);
}
public static double[] readProbabilities() {
Scanner sc = new Scanner(System.in);
double first, second, third;
System.out.print("Please insert 1st probability: ");
first = sc.nextDouble();
while (first < 0.0 || first > 1.0) {
System.out.print("Must be between 0.0 and 1.0, try again: ");
first = sc.nextDouble();
}
System.out.print("Please insert 2nd probability: ");
second = sc.nextDouble();
while (second < 0.0 || (first + second) > 1.0 ) {
System.out.print("Must be between 0.0 and " + (1.0 - first) + ":");
second = sc.nextDouble();
}
third = 1.0 - (first + second);
System.out.println("3rd Possibility is " + third);
return new double[] {first, second, third};
}
double[]probs=readProbabilities();
双随机=新随机().nextDouble();
整数随机数;
if(随机1.0){
System.out.print(“必须介于0.0和“+(1.0-第一个)+”:”;
第二个=sc.nextDouble();
}
第三个=1.0-(第一个+第二个);
System.out.println(“第三种可能性是”+third);
返回新的double[]{first,second,third};
}
问题?请多解释一下你的问题。