网站设置301重定向,合肥市建设工程市场价格信息网站,海南在线人才在线,如何上传程序到网站空间5 个答案:答案 0 :(得分#xff1a;12)Random.nextInt()具有不可预测的行为 - 它可以为整数生成所有可能的值#xff0c;包括负数。改为使用Random.nextInt(numSides) - 它将从[0#xff0c;numSides]返回一个整数#xff0c;即包括0并排除numSides。要获得所需的功能[112)Random.nextInt()具有不可预测的行为 - 它可以为整数生成所有可能的值包括负数。改为使用Random.nextInt(numSides) - 它将从[0numSides]返回一个整数即包括0并排除numSides。要获得所需的功能[1数字]请使用r.nextInt(numSides)1;有关详细信息请参阅here。答案 1 :(得分5)您只需要初始化Random r和int roll因此我已将其从循环中移除。 nextInt(int)方法从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: 4Roll is: 1Roll is: 2Total is: 7*/答案 2 :(得分2)替换int roll r.nextInt();与int roll r.nextInt(nSides);答案 3 :(得分0)如果对负数使用%则会得到负数。在这种情况下解决方案很简单使用int roll r.nextInt(nSides) 1; // 1 to nSizesnum roll;答案 4 :(得分0)这与rollDice方法有关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;}