4

クエリを検索しましたが、何も役に立ちませんでした。私はJavaを学び始めたばかりで、基本的な推測ゲームプログラムを作成しました。私の問題は、ユーザーが推測した数を数える必要があり、これを行う方法がわからないことです。私はあなたたちが私に与えることができるどんな助けでも本当に感謝します。これまでの私のコードは次のとおりです。

double ran;
ran = Math.random();
int r = (int)(ran*100);

Scanner in = new Scanner (System.in);
int g = 0;

System.out.print("Please make a guess between 1 and 100: ");
g = in.nextInt();

while (g!=r){

  if (g<=0){
    System.out.print("Game over.");
    System.exit(0); 
  }

  else if (g>r){
    System.out.print("Too high. Please guess again: ");
    g = in.nextInt();
  }

  else if (g<r){
    System.out.print("Too low. Please guess again: ");
    g = in.nextInt();                               
  }
}

System.out.print("Correct!");
4

3 に答える 3

3

推測カウントを追跡する変数が必要になります。ゲームごとに 1 回だけ実行される場所で宣言します。

int guessCount = 0

そして、推測ループ内で をインクリメントしますguessCount

guessCount++
于 2012-11-27T21:48:24.500 に答える
2

カウント変数を持ち、反復ごとに while 内でインクリメントします。

    int count=0;
     while(g!=r) {

        count++;
        //rest of your logic goes here
        }
于 2012-11-27T21:48:34.123 に答える
1

したがって、カウンター、つまり推測回数のカウントを保持する変数を維持し、ユーザーに推測を求めるたびにカウントを1ずつ増やしたいと思うでしょう。したがって、基本的には、呼び出すたびにカウンターをインクリメントする必要がありますg = in.nextInt();

だから、あなたのコードがおそらくやるべきことは次のとおりです...

double ran;
ran = Math.random();
int r = (int)(ran*100);
Scanner in = new Scanner (System.in);
int g = 0;
System.out.print("Please make a guess between 1 and 100: ");
int counter = 0;
g = in.nextInt();
counter++;
while (g!=r) {
    if (g<=0) {
        System.out.print("Game over.");
        System.exit(0);
    }
    else if (g>r) {
        System.out.print("Too high. Please guess again: ");
        g = in.nextInt();
        counter++;
    }
    else if (g<r) {
        System.out.print("Too low. Please guess again: ");
        g = in.nextInt();
        counter++;
    }
}
System.out.print("Correct!");
于 2012-11-27T21:57:21.333 に答える