Basic Random Rolling Dice Java
我正在尝试编写一个方法rollDice(int number,int nSides),它返回使用nSides边滚动数字骰子的总结果。
因此,例如rollDice(3,6)应该返回滚动3个六边形骰子的结果(添加到3到18之间的数字)。
当我为
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
1 | r.nextInt(numSides)+1; |
浏览此处获取更多信息。
您只需要初始化
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | 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方法怎么样:
1 2 3 4 5 6 7 | public static int rollDice(int number, int nSides) { int count = 0; for(int i = 0; i < number; i++) { count += (int)(Math.random() * nSides) + 1; } return count; } |
当您在负数上使用
在这种情况下,解决方案很简单,使用
1 2 | int roll = r.nextInt(nSides) + 1; // 1 to nSizes num += roll; |