1

私は約1時間立ち往生していて、グーグルして調査を行った後、コードを実行できませんでした。エラーは1つも表示されません。実行を押すと、デバッグが開き、何も実行されません。私は日食を使用しています。10個のオブジェクトのリストを作成し、それらに乱数を与えようとしています。

class test {
public static void main(String[] args){
    int a [] = new int[9];{
            for (int i = 0; i < a.length; i++)
                a[i] = a[(int)(Math.random()*70+15)];
            for (int elem : a){
                System.out.println(elem);
            };              
}}}
4

3 に答える 3

6

実際にアプリケーションを起動している場合は、次の行の例外で失敗するはずです。

                a[i] = a[(int)(Math.random()*70+15)];

ここでa[]は、9つの要素で構成されているため、最高のインデックスは8です。ただし、Math.random()*70+158より大きい数を生成することが保証されています。

于 2013-03-19T16:13:10.627 に答える
2

私はJavaを知りませんが、私は言うでしょう:

for (int i = 0; i < a.length; i++)
a[2] = a[(int)(Math.random()*70+15)];

する必要があります

for (int i = 0; i < a.length; i++)
a[i] = (int)(Math.random()*70+15);
于 2013-03-19T16:14:06.570 に答える
1

代わりに乱数ジェネレーターを使用することをお勧めします。また、プログラムには またはよりも適切な名前を使用することをお勧めしiます。

import java.util.Random;

class test {
    public static void main(String[] args){
        Random object = new Random ();//declare for your object
        int a;    //declare your integer type (I would suggest   
                  // changing that to be more descriptive)
        for (int i = 1; i <=10; i++) 
        {
            a = object.nextInt(100); // change 100 to however large   
                                     // parameter you want
            System.out.println(a + " ");
        }

    }              
}
于 2016-12-17T19:46:28.910 に答える