gpt4 book ai didi

java - 使用 Main 来管理 Dice

转载 作者:行者123 更新时间:2023-12-01 12:21:24 26 4
gpt4 key购买 nike

我应该编写一个简单的程序,在掷骰子 100000 次后读取两个骰子输入并将它们存储为直方图。然而,我所做的一切都是利用一个类文件。我的老师想让我使用Main来管理Dice,但我只完成了dice,但不知道如何将其集成到main中。

我写的程序:

public class Histogram {

public static void main(String[] args) {

int[] frequency = new int [13];
int die1, die2;
int rolls;
int asterisk;
int total;
double probability;

rolls = 100000;

//Roll the dice
for (int i=0; i<rolls; i++) {
die1 = (int)(Math.random()*6) + 1;
die2 = (int)(Math.random()*6) + 1;
total = die1 + die2;
frequency[total]++;
}

System.out.println("Results" + '\n' + "Each " + '\"' + "*" + '\"' + " represents the probability in one percent.");
System.out.println("The total number of rolls is one hundred thousand.");
System.out.println("Value\tFrequency\tProbability");

for (total=2; total<frequency.length; total++){
System.out.print(total + ": \t"+frequency[total]+"\t\t");
probability = (float) frequency[total] / rolls;
asterisk = (int) Math.round(probability * 100);

for (int i=0; i<asterisk; i++){
System.out.print("*");
}
System.out.println();
}
}

}

骰子:

public class Dice {

private int die1;
private int die2;

public Dice() {

roll();
}
public void roll() {

die1 = (int)(Math.random()*6) + 1;
die2 = (int)(Math.random()*6) + 1;
}

public int getDie1() {
return die1;
}
public int getDie2() {
return die2;
}
public int getTotal() {
return die1 + die2;
}
}

最佳答案

替换这个:

//Roll the dice
for (int i=0; i<rolls; i++) {
die1 = (int)(Math.random()*6) + 1;
die2 = (int)(Math.random()*6) + 1;
total = die1 + die2;
frequency[total]++;
}

这样:

Dice d = new Dice();
for (int i = 0; i < rolls; i++) {
d.roll();
frequency[d.getTotal()]++;
}

不过,我不知道你对骰子的实现有多好。我认为你可以滚动从 1 到 7 的任何地方。而且我不确定“Bravo()”函数应该是什么,你可能可以删除它。

关于java - 使用 Main 来管理 Dice,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26645193/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com