2

これは授業です。私は読んで検索してきましたが、すべてが java.util.Random を使用するように指示しており、その仕組みを理解しており、それを使用できることを望んでいます。しかし、私の割り当ては、 (int) (Math.random * number) を使用するように具体的に指示していますが、その配列に適用する場所を見つけるのが困難です。私が見たものはすべて、Java から引き出されたランダムでした。100 個のランダムな整数 0 ~ 9 と、それらが何回発生するかを生成します。誰かが助けることができれば?私のエラーは - Exception in "main" java.lang.array index out of boundsexception: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   
4

2 に答える 2

1

この変更を行う

int[] counts = new int[100];
for (int i = 0; i < counts.length; i++) {
    counts[i] = (int) (Math.random() * 10);
}// end for
于 2013-03-03T02:33:39.327 に答える
0

配列は 10 個の項目しか保持できず、ループでは 10 個以上にアクセスしています。2 つの方法で解決できます。

  • 配列の長さを増やします

    int[] counts = new int [100];
    
  • または、for ループでカウントを減らします。

    for(int i = 0; i < 10; i++){
    
于 2013-03-03T02:31:54.580 に答える