2
import java.util.Random;
import java.util.Scanner;

public class addinggamedowhile
{
    public static void main (String[]args)
    {
        Random r = new Random ();
        Scanner s = new Scanner(System.in);
        int x = r.nextInt(20)+1;
        int y = r.nextInt(20)+1;

        int sum = x + y;
        int guess;
        System.out.println("===========");
        System.out.println("Adding Game");
        System.out.println("===========");
        System.out.println();

    int tries = 0;
    for (int games = 0; games < 10; games++)
    {
        do
        {
        System.out.print (x + " + " + y + " = ");
        guess = s.nextInt();

        if (guess != sum && tries < 2)
        {
        System.out.println("Not quite. Try again!");
        System.out.println();
        tries++;
        }
        else
        System.out.println("Not quite. The answer is " +sum+ ".");
        System.out.println();
       }
    while (guess != sum);
    System.out.println("Congratulations. You got it!");
    System.out.println();
}

}}

このループに問題があります。必要なときにループを終了させることができません。たった10回の「推測」だけ続くはずです。さらに、ユーザーが質問に正解すると、else ステートメントも実行されます。もう 1 つは、ユーザーが問題に正解した場合、または許可された 3 回以内に問題を正解しなかった場合、新しい数字のセットが表示されることです。私もそれを適切に実行することができませんでした。うまく機能するさまざまなことを試しましたが、プロジェクトの要件は do while ループを使用することです。

4

2 に答える 2