0

私は基本的にEclipseをいじって、Javaクラスの紹介で学んだことを保持しています。高度なプログラミングに入学しようとしていますが、初心者向けの質問があります...

メソッドを理解するのに苦労していたので、以下の小さなプログラムを作成しました。一般的な概念を理解したので、新しい質問があります。以下の do while ステートメントがありますが、単純な足し算の問題に正しい答えを入力すると機能します。間違った答えを入力すると、問題をもう一度試すように求められます (私が望むように)。もう一度間違った答えを入力すると、プログラムは停止します。ユーザーが正解するまで、ユーザーに回答を入力するように求めます。どうすればいいですか?

import java.util.Scanner; //needed for input

public class PracticeMethod {
    public static void main(String[] args) {
        // Create a Scanner

        System.out.println(");
        System.out.println();
        makesPerfect();
        String anotherRun = "yes";

        Scanner input = new Scanner(System.in);

    }

    static void makesPerfect() {
        Scanner input = new Scanner(System.in);
        String anotherRun;
        do {

            System.out.print(" Math");
            int x = (int) (Math.random() * 10) + 1;
            int y = (int) (Math.random() * 10) + 1;

            System.out.print(" What is " + x + "+" + y + "? ");
            double answer = 0.0;
            answer = input.nextDouble();
            if (answer == x + y) {
                System.out.println(" Yes, you are correct.");

            }
            if (answer != x + y) {
                System.out.print(" No, that is not correct. ");
                System.out.println();
                System.out.print(" Why dont you try again? ");
                System.out.println();
                System.out.println();
                System.out.print(" What is " + x + "+" + y + "? ");
                answer = input.nextDouble();
            }
            System.out.println();

            System.out.print("Enter yes if you want to run again: ");
            anotherRun = input.next();
            input.nextLine(); // causes skipping issue to fix
            System.out.print("\n\n\n");
        } while (anotherRun.equalsIgnoreCase("yes"));
    }
}
4

1 に答える 1