gpt4 book ai didi

java - 掷骰子和计数数组初学者

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

我想制作一个简单的程序,掷骰子 1000 次,并计算每个数字 1-6 出现的次数。它工作正常,但最后出现错误。为什么会发生这种情况?

public class diceRollerCounter {
public static void main(String[] args) {
int dice [] = new int[7];
for(int x = 0 ; x <1000; x++ ) {
++dice [(int)(Math.random()*6+1)];
}
System.out.println("Number Frequency" );
for(int index = 0; 1 < dice.length ; index++) {
System.out.println(index + " " + dice[index]);
}
}
}

输出:

Number       Frequency
0 0
1 170
2 143
3 188
4 165
5 173
6 161
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7
at diceRollerCounter.main(diceRollerCounter.java:20)

最佳答案

您的 for 循环条件测试 1 是否小于 dice.length,并且始终为 true。但是您会不断增加 index 直到它超出数组末尾。

而是测试 index 是否小于 dice.length

顺便说一句,您可能希望将 index 初始化为 1,这样就可以跳过出现频率为 0 的数字的输出0

关于java - 掷骰子和计数数组初学者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31441753/

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