我遇到的问题是非常基本的,但是这是我没有很好地掌握的问题。下面的程序使用递归来计算给定数量的骰子(由用户输入)总计为用户选择的数字的概率。
据我了解,DiceRoll 方法是 Diceroll 类的一部分。但是,当我尝试调用该方法时,出现错误。我认为这个程序的结构存在根本性的问题。有人可以帮我吗?
import java.util.Scanner;
public class DiceRoll {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
double dice = 0;
int r = 0;
System.out.println("Please input the number of dice you wish to roll between 0 and 25: ");
if (in.nextInt() < 0 || in.nextInt() > 25){
System.out.println("invalid number of dice");
} else {
dice = in.nextInt();
}
System.out.println("What number between 0 and 125 do you wish to roll?");
if (in.nextInt() < 0 || in.nextInt() > 125) {
System.out.println("invalid number, please choose between 0 and 125");
} else {
r = in.nextInt();
}
}
double DiceRoll(double dice,int r) {
if (dice==1 && (r<1 || r>6)){
return 0;
}
if (dice==1 && (r>=1 && r<=6)){
return (1.0/6);
} else {
return ((1.0/6)*DiceRoll(dice-1,r-1));
}
}
}
DiceRoll(dice, r)