当前位置: 首页 > 面试题库 >

基本随机滚动骰子Java

丌官晨
2023-03-14
问题内容

我正在尝试编写一个rollDice(int number,int nSides)方法,该方法返回滚动带有nSides边的数字骰子的总结果。

因此,例如rollDice(3,6)应该返回滚动3个六边骰子的结果(加上3到18之间的数字)。

当我输入1 int number来解决此问题时,下面的方法返回负数?

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; 
}

问题答案:

你只需要初始化Random rint roll各一次,所以我已经从循环中去除它们。nextInt(int)方法选择一个从0到0(但不包括int)的整数。这被称为0(包含)至int(不含),因此您必须添加1才能调整模具范围。您似乎已经知道,尽管我不知道您为什么使用%。使用*进行乘法运算将为您提供所有骰子相同的数字,我不相信您打算这样做。这是您的课程的一种可能的实现:

import java.util.Random;

public class Dice {

    public static  int rollDice(int number, int nSides)
    { 
        int num = 0;
        int roll = 0;
        Random  r = new Random(); 
        if(nSides >=3) 
        { 
            for(int i = 0; i < number; i++)
            { 
                roll = r.nextInt(nSides)+1;
                System.out.println("Roll is:  "+roll);
                num = num + roll; 
            } 
        } 
        else
        { 
            System.out.println("Error num needs to be from 3"); 
        } 
        return num;  
    }

    public static void main(String[] args)
    {
        System.out.println("Total is: "+rollDice(3, 6));
    }
}
/*
Roll is:  4
Roll is:  1
Roll is:  2
Total is: 7
*/


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

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

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

  • 我对C#和一般编码都是新手。为了提高我的技能,我试图创建一个基本的游戏,两个玩家掷骰子,并记录他们的得分。玩家达到20分即获胜。每个玩家轮流掷一个骰子,把他们的第一个骰子加到他们的第二个骰子上,以此类推,直到其中一个达到20。如果玩家掷出一个六,他们可以再次掷骰子。 任何帮助都将不胜感激。

  • 我正试图用python做一个掷骰子程序,给定用户在边、骰子和掷骰子上的输入来掷骰子。目前这段代码或多或少是有效的,但是我遇到的问题是,假设我让< code>3个骰子滚动< code>3次,骰子有< code>6个面。 我的代码显示如下: 当我需要它显示为: 这是我目前为止的代码。我的猜测是,它与我的参数和参数为空有关?我不完全确定。以下是我的代码:

  • 我在试着给游戏Farkle编程序。它一次最多可以掷出6个骰子。我创建了一个骰子类来保存骰子的值,并创建了一个Roll()方法来滚动骰子。 游戏将创建一个由6个骰子组成的数组,并一次掷出它们,所以我不希望Die类在类的每个实例中创建一个 Random(),否则所有骰子都会具有相同的种子随机数。所以我在应用程序的主窗体中创建了新的随机()。 我对从Die类中调用Random()而不公开应该是私有的东西