我编写了一个包含子类的应用程序,该子类将根据用户输入的边数掷骰子,并使用整数将掷骰子一定次数。
如:用户输入6面,想掷骰子1000次。
我还应该使用一个和我编码的数组相似的数组。
我目前拥有的:
public class DDiceRoller {
public static void diceStats() {
int maxNum = DiceRolling.diceSides;
Scanner sc = new Scanner(System.in);
int randomValue = 1 + (int) (Math.random() * maxNum);
int randomValue2 = 1 + (int) (Math.random() * maxNum);
int die1 = (randomValue);
int die2 = (randomValue2);
int sum = die1 + die2;
int rollnum;
int idx;
System.out.println("Welcome to the Dice Roll Stats Calculator!");
int[] combinations = new int[maxNum]; //I haven't even used this variable yet, don't know how.
System.out.println("Enter amount of rolls: ");
rollnum = sc.nextInt();
for (idx = 0; idx < rollnum; idx++) {
System.out.println(sum); //I know this is wrong, just don't know what to do.
}
}
}
然后,计算器将运行程序并根据程序运行的次数输出百分比,从而...所以像这样...
所需输出:
Total Count Percentage
----- --------- ----------
2 123 3.01%
3 456 6.07%
4 etc 3.19%
5 ??? 4.45%
6 ??? 8.90%
7 ??? 8.62%
8 ??? 7.63%
9 ??? 6.92%
10 ??? 5.40%
11 ??? 6.96%
12 ??? 8.36%
当前输出:现在我得到的都是返回的相同值,因为我现在用' for '循环所做的都是重复' sum ',不管掷骰子多少次。sum也不会为每次迭代返回不同的数字。
我的主要目标是按照用户的要求掷骰子任意次。使用Java数组存储结果。例如,每次我要执行下一次掷骰子时,创建一对新的骰子。这样,我可以将每对骰子存储在一个数组中。
我试图学习如何将其分段编写,但我现在非常迷茫,以至于我感到挫败。非常感谢你能提供的任何指导。我真的很抱歉,如果这令人困惑,我不完全理解说明...
您可以使用2D数组或哈希映射来实现这一点,但我更喜欢2x数组列表
NumberFormat formatter = new DecimalFormat("#0.00");
ArrayList<Integer> numbers = new ArrayList<Integer>();
ArrayList<Integer> counts = new ArrayList<Integer>();
int maxNum = DiceRolling.diceSides;
Scanner sc = new Scanner(System.in);
int rollnum;
int randomValue;
System.out.println("Welcome to the Dice Roll Stats Calculator!");
System.out.println("Enter amount of rolls: ");
rollnum = sc.nextInt();
for (int i = 0; i < rollnum; i++) {
randomValue = (1 + (int) (Math.random() * maxNum)) + (1 + (int) (Math.random() * maxNum));
if(numbers.contains(randomValue)){
int position = numbers.indexOf(randomValue);
counts.set(position, counts.get(position)+1);
}else{
numbers.add(randomValue);
counts.add(1);
}
}
System.out.println("Total\tCount\tPercentage");
System.out.println("-----\t---------\t----------");
for(int i = 0; i<numbers.size(); i++){
System.out.println(numbers.get(i) +"\t" + counts.get(i) + "\t" + formatter.format(((double)(counts.get(i)*100))/rollnum) + "%";
}
这是你的答案吗?我希望这行得通。
我的任务是创建一个龙与地下城骰子滚动程序,其中四个骰子滚动,最高的三个数字被记录下来,最低的数字被放到一边。 该程序需要使用面向对象编程,这就是我遇到问题的地方。 此外,不能使用嵌套的If语句或循环。 我试图找出如何将每个类彼此分开编码。 我需要一个将运行程序本身的类,一个询问使用程序的人他们想要掷多少组骰子的类,一个实际表示掷骰子集的类,一个表示掷骰子系列的类(这是显示骰子1掷出的骰子,掷出的骰
我正试图用python做一个掷骰子程序,给定用户在边、骰子和掷骰子上的输入来掷骰子。目前这段代码或多或少是有效的,但是我遇到的问题是,假设我让< code>3个骰子滚动< code>3次,骰子有< code>6个面。 我的代码显示如下: 当我需要它显示为: 这是我目前为止的代码。我的猜测是,它与我的参数和参数为空有关?我不完全确定。以下是我的代码:
我停在一个点上,我需要弹出一个窗口,通知用户他们的约会在15分钟后。当我运行代码时,我得到一个sql错误。非常感谢您的帮助。 我用实时来代替变量,效果很好。当我把变量放回时,我得到下面列出的错误。
我对java非常陌生,我为自己设定了一个目标,即制作一个掷骰子程序(保持小)。最终目标是能够掷出用户选择的骰子量,并能够让每个骰子具有不同数量的面(如果需要),我让它获得骰子的数量和每个骰子的面数。这是我为它做的代码(可能真的很糟糕,如果是的话,很抱歉): 现在我想显示< code>ArrayList,但我想将其显示为 "骰子1掷出# 掷骰子2 # " 等等,我迷失了如何做到这一点,特别是对于不同
我确信这是微不足道的,但我无法弄清楚。我的老师刚刚向我们展示了如何使用 .下一页();昨晚的陈述,我被告知要写一个作业,刺激两个掷骰子并比较它们。我写出了代码,一切都很好,直到我将骰子2添加到我的控制台.writeline。我在这里错过了什么? 添加dice2后,我得到以下错误,当我移除dice2时,这些错误都消失了。 )预期 ;预期 无效的表达式术语')' 只有赋值、调用、递增、递减、等待和新的
问题内容: 我正在尝试编写一个rollDice(int number,int nSides)方法,该方法返回滚动带有nSides边的数字骰子的总结果。 因此,例如rollDice(3,6)应该返回滚动3个六边骰子的结果(加上3到18之间的数字)。 当我输入1 来解决此问题时,下面的方法返回负数? 问题答案: 你只需要初始化和各一次,所以我已经从循环中去除它们。nextInt(int)方法选择一个从