如何将随机数添加到数组中

时间:2013-03-03 02:17:47

标签: java arrays indexoutofboundsexception

这是课堂作业。我一直在阅读和搜索,一切都告诉我使用java.util.Random,我了解它是如何工作的,并希望我可以使用它。但我的任务特别告诉我使用(int)(Math.random *数字),我很难看到在我的数组中应用的位置。我所看到的一切都是从java中随机抽取的。 生成100个随机整数0-9以及它们出现的次数。如果有人可以协助? 我的错误是 - “主”java.lang.array索引中的异常超出范围豁免:10显然我的代码中也存在错误。

public class NumberOfTimes{

  public static void main(String[] args){

    int rand = (int)(Math.random() * 10);
    int[] counts = new int [10];

    for(int i = 0; i < 100; i++){

      counts[i]++;
    }//end for

    System.out.println("number\t" + "occurence ");

    for (int num = 0; num < counts.length; num++){

      System.out.println(num + "\t" + counts[num]);
    }//end for

  }//end main

}//end NumberOfTimes   

2 个答案:

答案 0 :(得分:1)

进行此更改

int[] counts = new int[100];
for (int i = 0; i < counts.length; i++) {
    counts[i] = (int) (Math.random() * 10);
}// end for

答案 1 :(得分:0)

你的数组只能容纳10个项目,而你的循环中你可以访问10个以上的项目。可以通过两种方式解决。

  • 增加数组长度

    int[] counts = new int [100];
    
  • 或者减少for循环中的计数。

    for(int i = 0; i < 10; i++){