Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 掷骰子和计数数组初学者_Java_Arrays - Fatal编程技术网

Java 掷骰子和计数数组初学者

Java 掷骰子和计数数组初学者,java,arrays,Java,Arrays,我想做一个简单的程序,掷骰子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

我想做一个简单的程序,掷骰子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]);
        }
    }
}

如果
1
小于
dice.length
,您的
for
循环条件测试将始终为
true
。但是您会不断增加
索引
,直到它离开数组的末尾

而是测试
索引
是否小于
骰子长度


顺便说一句,您可能希望将
索引
初始化为
1
,这样您就可以跳过
0
出现频率为
0
的数字
的输出,以便在
1
小于
dice.length
时进行
循环条件测试,并且它总是
true
。但是您会不断增加
索引
,直到它离开数组的末尾

而是测试
索引
是否小于
骰子长度


顺便说一句,您可能希望将
索引
初始化为
1
,这样您就可以跳过
0
出现频率为
0
的数字
的输出,以便在
1
小于
dice.length
时进行
循环条件测试,并且它总是
true
。但是您会不断增加
索引
,直到它离开数组的末尾

而是测试
索引
是否小于
骰子长度


顺便说一句,您可能希望将
索引
初始化为
1
,这样您就可以跳过
0
出现频率为
0
的数字
的输出,以便在
1
小于
dice.length
时进行
循环条件测试,并且它总是
true
。但是您会不断增加
索引
,直到它离开数组的末尾

而是测试
索引
是否小于
骰子长度



顺便说一下,您可能需要将
索引初始化为
1
,因此,您可以跳过频率为
0
的数字
0

的输出情况
1
?有关无法再现的问题或由简单的印刷错误引起的问题已脱离主题。虽然这里可能有类似的问题,但这些问题往往以一种不太可能帮助未来读者的方式得到解决。@ChthonicProject那么我应该删除这篇文章吗?@eananhalferty:我投票赞成结束。顺便说一下,我希望这不会阻止你使用SO。这是一个很棒的社区,一旦你掌握了窍门,你几乎肯定会喜欢上它。什么是条件
1
?关于一个无法重现的问题或由一个简单的印刷错误引起的问题是离题的。虽然这里可能有类似的问题,但这些问题往往以一种不太可能帮助未来读者的方式得到解决。@ChthonicProject那么我应该删除这篇文章吗?@eananhalferty:我投票赞成结束。顺便说一下,我希望这不会阻止你使用SO。这是一个很棒的社区,一旦你掌握了窍门,你几乎肯定会喜欢上它。什么是条件
1
?关于一个无法重现的问题或由一个简单的印刷错误引起的问题是离题的。虽然这里可能有类似的问题,但这些问题往往以一种不太可能帮助未来读者的方式得到解决。@ChthonicProject那么我应该删除这篇文章吗?@eananhalferty:我投票赞成结束。顺便说一下,我希望这不会阻止你使用SO。这是一个很棒的社区,一旦你掌握了窍门,你几乎肯定会喜欢上它。什么是条件
1
?关于一个无法重现的问题或由一个简单的印刷错误引起的问题是离题的。虽然这里可能有类似的问题,但这些问题往往以一种不太可能帮助未来读者的方式得到解决。@ChthonicProject那么我应该删除这篇文章吗?@eananhalferty:我投票赞成结束。顺便说一下,我希望这不会阻止你使用SO。这是一个很棒的社区,一旦你掌握了窍门,你几乎肯定会爱上它。@down请说明如何改进这篇文章。非常感谢你。现在解释起来很简单哈哈:)@Downvoter请说明如何改进这篇文章。非常感谢你。现在解释起来很简单哈哈:)@Downvoter请说明如何改进这篇文章。非常感谢你。现在解释起来很简单哈哈:)@Downvoter请说明如何改进这篇文章。非常感谢你。现在解释起来很简单哈哈:)
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)