私はこれを(そして他のいくつかの)サイトを検索していますが、過去3時間は役に立たないと言っています。私は自分のトピックに関して見つけることができるすべての投稿を読んでいます。適用されないか、私は何が起こっていたかをかなり理解できませんでした。選択が完了したら乱数ジェネレータを使用して選択肢を削除しますか? JAVA
私は2つの問題を抱えています。
乱数ジェネレータが作成されてから選択肢を破棄するようには思えません。
私の2番目の問題は、1回の競技で6ポイントのラウンドしかできないことです.6ポイントラウンドの特定の制約を持つものに限定する方法がわかりません。
このプログラムは、スカイダイビングの のジャンプの選択をシミュレートするように設計されています。 (A、AA、AAA)(難易度、特定の移動は表示されないか、 AA、AAAはすべてを含む)、個別の競技が6であるかどうかを または10ラウンド(A は常に6ラウンドになります)。ユーザが競技を選び、 のラウンド数を獲得すると、プログラムは個々のラウンドを完了するために個体 を出力することになっており、 ラウンドのポイント(競技の6または10ラウンド)。ここに 私の最初の問題がある:
移動が選出されたら、それは他の競争のために再び に使用することはできません。私は 私の人生のためにこれを行う方法を理解することはできません。上を移動する
、スコアリングのための2つの別々の カテゴリ、番号が動く(私の プログラムで1-22)と文字入りの移動(23以上)、番号付きの 2ポイントの価値があると文字入りがあります価値があります1.各ラウンドは5または6ポイントです
私はこれに6ポイントのラウンドがあるため、それは3つの番号付きの移動から構成できます。他の の組み合わせは受け入れられません。そしてそれに追加する、唯一の競争の全体が1つのから6個の点のラウンドがあり できる。*
for(int i=0; i < round; i++)
{
System.out.printf("\nRound %d:\n", i+1);
point = 0;
while(point < 5)
{
pickedRandom=false;
formation = myRandom.nextInt(38) + 1;
while(formation == 31)
{
formation = myRandom.nextInt(38) + 1;
}
if(point == 4 && pickedRandom && formation < 23)
{
while(formation < 23)
formation = myRandom.nextInt(38) + 1;
}
if(formation < 23)
{
point+=2;
}
else
{
pickedRandom=true;
point++;
}
formationRound.set(formation, true);
if(formation > 22)
System.out.printf(" %s %s ",randomLetter(formation), formationName(formation));
else
System.out.printf(" %d %s", formation, formationName(formation));
}
System.out.println();
System.out.printf(" %s \n", point);
}
}
ストーリーを伝えるテキストブロック - 疑問 - あなたのコードに何が起こっているのかわからない[最小限の完全で検証可能な例を追加してください](https://stackoverflow.com/help/mcve) およびhttps://ericlippert.com/2014/03/05/how-to-debug-small-programs/ –
ようこそ。それは誰かが消化するための非常に長い説明です。デバッガでコードを実行しましたか?それが最初のことです。 – OldProgrammer
シナリオ全体ではなく関連するコードセグメントを使用して、最小限の説明で問題を投稿するとします。 –