java - 尝试创建一个程序,模拟滚动 500 个骰子,并以星星的形式显示 1、2、直到 6 的数量
问题描述
public class looptests {
public static void main(String[] args) {
Random randGen = new Random();
int seedValue = 0;
randGen.setSeed(seedValue);
int i; // Loop counter iterates numRolls times
int numRolls; // User defined number of rolls
int numOnes = 0;
int numTwos = 0;
int numThrees = 0;
int numFours = 0;
int numFives = 0;
int numSixes = 0; // Tracks number of 6s found
int diceOne; // Dice 1 values
int diceTwo;
int totalRolls = 0; // Sum of dice values
numRolls = 500;
// Roll dice numRoll times
if (numRolls >= 500);
for (i = 0; i < numRolls; i++) {
diceOne = randGen.nextInt(6);
diceTwo = randGen.nextInt(6);
totalRolls = diceOne + diceTwo;
if (totalRolls == 1) {
numOnes = numOnes + 1;
}
if (totalRolls == 2) {
numTwos = numTwos + 1;
}
if (totalRolls == 3) {
numThrees = numThrees + 1;
}
if (totalRolls == 4) {
numFours = numFours + 1;
}
if (totalRolls == 5) {
numFives = numFives + 1;
}
if (totalRolls == 6) {
numSixes = numSixes + 1;
}
}
int count = 0;
while (count < 6) {
// Print statistics on dice rolls
System.out.println("One (" + numOnes + ")");
count++;
}
}
}
这就是我达到的程度,我有几个问题,第一,这不是随机的,我一遍又一遍地得到相同的数字,其次,我没有设法显示“*”来反映数量我有多少次得到一两个。例子:
一 (65): ********************************************* ********************
二 (80): ********************************************* ***********************************
三(86):********************************************* *****************************************
四(107):********************************************* ****************************************************** ************
五(91):************************************************ ************************************************
六(71):********************************************* ******************************
解决方案
您得到相同的数字,因为您将相同的种子设置为 Random 实例。例如,通过 Math.random() 生成随机种子,或者根本不设置种子。
要打印星星,您可以使用循环并按一打印星星:
System.out.print("One (" + numOnes + ")");
for (int i = 0; i < numOnes; i++) {
System.out.print("*");
}
System.out.println();
推荐阅读
- xslt-2.0 - 非常感谢有关分组实际工作方式的一些帮助
- django - Django 表不更新列数据
- ms-access - 富文本 - MS 访问 Windows 窗体富文本框
- ios - 快照 Firebase 返回“
“迅速 - javascript - 从复选框中提取值并附加到 URL(具有相同类的多个复选框)
- r - GRG 非线性 R
- javascript - 在 Firefox 中发布端点 404 并在 chrome 中挂起
- java - 覆盖 Maven spring boot 插件的 jvmArguments
- floating-point - 可以用浮点数表示的最小/最大数字
- python - 如何在散点图中添加图例