0

さて、これは宿題です。私は完全な答えが欲しいのではなく、誰かが私を正しい方向に向けるのを手伝ってくれるだけです. 私は Java の初心者なので、気楽にやってください。これは問題全体のほんの一部ですが、私が行き詰まっている部分なので、さらに必要な場合はさらに提供できます. しかし、指示には次のように書かれています: 各サイコロの転がりをシミュレートする Roll 関数を作成し、合計を返します。この関数は、適切な範囲内の値のみを許可する必要があります (つまり、各サイコロが 4 つの面しかない場合は、1 から 4 の数字のみを許可する必要があります)。この特定の機能についてこれまでに持っているものは次のとおりです。

public double Roll()
{
    for(int i = 0; i < numDice; i++)
    {
    double total = Math.random()*numFaces + 1;
    }
    return total;

ここからどこへ行けばいいのかわからないし、本当に何をすればいいのかわからない。これは私の最初のプログラミングクラスであり、頭がいっぱいです :P だから、私が言ったように、正しい方向に向けることができれば (ダミートークを使用して、私はまだこの全体を把握するのに苦労しているため)、素晴らしい。また、必要に応じて実際の問題をさらに提供することもできます。

4

5 に答える 5

1

totalループ内で定義しているため、forループの外では見えなくなります。また、サイコロを投げるたびに追加 (+=) するのではなく、上書き (=) しています。

public double Roll()
{
    double total = 0;
    for(int i = 0; i < numDice; i++)
    {
        total += Math.random()*numFaces + 1;
    }
    return total;
}

また、Java スタイルに従い、メソッドの名前を変更することをお勧めしますroll(メソッドは小文字で始まります)。戻り値の型も奇妙に思えます。おそらくint同様の状況で使用するでしょう。

于 2013-11-03T23:00:14.363 に答える
0

まず、for ループの外で合計を宣言する必要があります。次に、ゼロに初期化します。

次に、for ループ内。変数を増やします。

numFacesダイごとに異なるようにする必要がある場合は、反復ごとに for ループ内でその値を取得する必要があります。

また、次のことを自問する必要があります:total変数に必要な可能な値はどれですか? intそれともdouble?_

于 2013-11-03T22:59:53.513 に答える