Javaの課題で困っています。ランダムな2桁の整数2つを足し算する問題を作って、利用者に答えを入力させ正誤を判定するプログラムを書きたいです。10問出題して、最終的には正解数と正答率を表示するようにしたいです。どう書けば良いですか?

以下は、Javaで要求されたプログラムを作成するための基本的なアルゴリズムです。

1. 正解数を初期化します。
2. 10回のループを行います。
3. ランダムな2桁の整数2つを生成します。
4. ユーザーに問題を表示し、答えをユーザーに入力させます。
5. ユーザーが入力した答えと正解を比較します。
6. 正解であれば、正解数を増やします。
7. 正解数と現在の問題数を表示します。
8. 10回のループが終了したら、正答率を計算して表示します。

以下は、このアルゴリズムを実装したサンプルコードです。

“`java
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int correctAnswers = 0;

for (int i = 0; i < 10; i++) {
// ランダムな2桁の整数2つを生成
int num1 = (int) (Math.random() * 90) + 10;
int num2 = (int) (Math.random() * 90) + 10;

// 問題を表示し、答えを入力させる
System.out.print(num1 + " + " + num2 + " = ");
int answer = scanner.nextInt();

// 答えをチェック
int sum = num1 + num2;
if (answer == sum) {
System.out.println("正解!");
correctAnswers++;
} else {
System.out.println("不正解。正解は " + sum + " です。");
}

// 正解数と問題数を表示
System.out.println("正解数: " + correctAnswers + " / " + (i + 1));
}

// 正答率を表示
double accuracy = (double) correctAnswers / 10.0 * 100.0;
System.out.println("正答率: " + accuracy + "%");
}
}
“`

このコードは、ランダムな2桁の整数を2つ生成し、ユーザーに問題を出して答えを入力させます。入力された答えを正解と比較し、正解数を増やします。最後に正答率を計算し、表示します。

コメントを残す