0

そのため、0 から 400 までの範囲の数値を取得する乱数ジェネレーターを作成する必要があります。これらを配列に入れて、後で並べ替えます。これを行う方法がわかりません。私は次のようなものを与えられました。

public int nextInt(400) //gives me errors
{
    random.setSeed(12345L);
    for (int i = 0; i < arr.size; i++)
    {
         val = random.nextInt(400);
         a[i] = val;
    }
}

指示がそれを示したので、私はすでにランダムクラスを呼び出しました。なぜこれが機能しないのかわかりません。特に最初の部分でエラーが発生します。クラス、インターフェース、または列挙型が必要です。誰かが私を正しい方向に導いてくれませんか?

4

3 に答える 3

2

Java (すべてのプログラミング言語) の関数には、定義に「変数」があります。

あなたが持っている:

public int nextInt(400)

ここで、400 を関数に渡される値にする必要があります。

これを数学と考えてください。のようなものに対処したと確信していますf(x) = 2 * x。ここで、x は変数であり、f(x) を x の値で「評価」します。同様に、プログラミングでは、次のようなものがあります。

public int nextInt(int x)

ご覧のとおり、関数は x を int 型として定義しています。これは、この関数が x の整数のみを受け入れることをコンパイラに伝えているため、Java のような言語で必要です。

これで、関数の本体で x を変数として使用できます。

変数を使用するときは常に、最初に定義する必要があることに注意してください。次のような行:

int variable;

variable を int として定義します。

あなたのプログラムには、 、 、 、および のこれらがrandomありvalませarra。ここで、arraは配列であることに注意してください (どういうわけか、2 つの別個の変数であってはならないような気がします)。

この質問を試みる前に、変数の定義、配列、および関数を実際にブラッシュアップする必要があります。最適なリソースは教科書です。教科書はすべてを体系的かつ段階的に説明してくれるからです。オンラインで利用できる多くのチュートリアルを試すこともできます。特定の質問がある場合は、いつでも StackOverflow に戻ることができます。ここでヘルプが見つかると確信しています。

幸運を!

于 2012-04-06T04:53:14.587 に答える
0

あなたも指定しました:

public int nextInt(400)

この行では、関数はintを返し、全身ではuにはreturnステートメントがありませんでした。

そして、Kshitij Mehataが提案したように、値使用変数として400を直接使用しないでください。

これはあなたの機能でなければなりません:

public int[] nextInt(int x) //gives me errors
    {
        random.setSeed(12345L);
        int[] a=new int[arr.size];
        for (int i = 0; i < arr.size; i++)
        {
             val = random.nextInt(400);
             a[i] = val;
        }
        return a;
    }

このarrがどこから来るのかarrに問題がありますか?

于 2012-04-06T05:03:22.783 に答える
0

クラス定義内でこの関数を定義する必要があります

于 2012-04-06T04:51:23.650 に答える