当前位置: 首页 > 知识库问答 >
问题:

基本随机掷骰子Java

明安阳
2023-03-14

我试图编写一个方法rollDice(int number,int nSides),它返回用nSides边滚动数字骰子的总结果。

public static  int rollDice(int number, int nSides) {
    int num = 0;
      if(nSides >=3)
    {
      for(int i = 0; i < number; i++){
       Random  r = new Random(); 
       int roll = r.nextInt();
       num = num + (roll % nSides)+1;

      }
    }
      else{
          System.out.println("Error num needs to be from 3");

    }
    return num; 
} 

共有1个答案

黎同
2023-03-14

random.nextint()具有不可预测的行为--它可以为整数生成所有可能的值,包括负数。使用random.nextint(numSides)-它将从[0,numSides)返回一个整数,即包括0且不包括numSides]

r.nextInt(numSides)+1;

有关更多信息,请参见此处。

 类似资料:
  • 一个简单的新手问题,奇怪的是我一直没能找到解决方法。

  • 我对编程有点陌生,我想知道如何编写一个随机掷骰子的java程序。这方面的要求是: 私有成员: -final int numSides ^^die的边数 -public方法 ^^骰子(int sides) @@@将numSides设置为sides参数。 @@@用于创建具有不同边数的骰子,例如,在main中可以说骰子d6=新骰子(6)以创建六边die。 ^^int roll() ^^返回一个从1到包括

  • 问题内容: 我正在尝试编写一个rollDice(int number,int nSides)方法,该方法返回滚动带有nSides边的数字骰子的总结果。 因此,例如rollDice(3,6)应该返回滚动3个六边骰子的结果(加上3到18之间的数字)。 当我输入1 来解决此问题时,下面的方法返回负数? 问题答案: 你只需要初始化和各一次,所以我已经从循环中去除它们。nextInt(int)方法选择一个从

  • 我正在用java创建一个掷骰子的应用程序。我有一个掷骰子的“骰子”类,和一个使用“骰子”的多个实例变量的“骰子”类。但是,它只为我的值返回0。骰子类本身可以工作,并且会掷出一个随机数,但是我不知道如何在我的“骰子”类中得到多个掷骰子。感谢任何帮助。 骰子类 模具等级

  • 我试图为一个游戏的掷骰子程序,其中用户输入一个下注金额和2个六面骰子滚动,如果7或11是滚动,他们赢了。如果掷2,3或12就输了,如果掷其他任何一个数字,它就显示该数字为一个点。它会继续掷骰子,直到掷7或该点为止,如果掷7就输了,否则就赢了。出于某种原因,在掷骰子时,他会掷骰子,然后再掷一次,看看他们是否赢了或输了。我不知道如何解决这个问题,任何帮助都不会附带

  • 你好堆栈溢出,我有一个小问题与这个程序。我正在尝试制作一个程序来掷四个骰子并将三个最高的掷骰子加在一起,然后打印这三个掷骰子中最低的一个。我犯了一个错误,就是把三个最高的卷子加在一起,然后打印出四个卷子中最低的一个。 我如何解决这个问题?我在谷歌上搜索了很多,想知道如何使用列表和集合,但我找不到任何可以解决这个问题的东西。 此外,我如何才能迫使用户选择一个集合并重新滚动该集合? 基本上,我想做的是