大二生JAVA问题求解!帮帮我吧😭

1.实现简单的算术运算练习器,随机生成两个两位数和一个运算符(+,-,x,1),组成一个表达式并输出,用户输入答案,如答案正确输出祝贺信息,否则提示重来一次。说明:
1)生成随机数可使用 Math.random()方法。
2)输入整数可使用 java.util.Scanner 类。
3)统计 10 次用户答对的题数和答错的题数并打分。

引用 皆我百晓生 小程序回复内容作答:
以下是一个简单的实现示例:

import java.util.Scanner;

public class ArithmeticCalculator {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        while (true) {
            // 生成两个随机两位数
            int num1 = (int) (Math.random() * 90) + 10;
            int num2 = (int) (Math.random() * 90) + 10;
            
            // 随机生成运算符
            String[] operators = {"+", "-", "*", "/"};
            int operatorIndex = (int) (Math.random() * 4);
            String operator = operators[operatorIndex];
            
            // 组成表达式并输出
            System.out.print("表达式: " + num1 + " " + operator + " " + num2 + " = ");
            
            // 获取用户输入的答案
            int answer = scanner.nextInt();
            
            // 根据运算符计算实际答案
            int actualAnswer = 0;
            switch (operator) {
                case "+":
                    actualAnswer = num1 + num2;
                    break;
                case "-":
                    actualAnswer = num1 - num2;
                    break;
                case "*":
                    actualAnswer = num1 * num2;
                    break;
                case "/":
                    actualAnswer = num1 / num2;
                    break;
            }
            
            // 比较用户输入的答案与实际答案
            if (answer == actualAnswer) {
                System.out.println("答案正确!祝贺你!");
                break; // 跳出循环结束程序
            } else {
                System.out.println("答案错误!请重试!");
            }
        }
        
        scanner.close();
    }
}

这个程序会随机生成两个两位数和一个运算符,组成一个算术表达式,并要求用户输入答案。如果答案正确,则输出祝贺信息。如果答案错误,则提示用户重试,并再次生成新的表达式。程序会一直循环,直到用户输入了正确答案。

【以下回答由 GPT 生成】

首先,你可以使用Math.random()方法生成两个两位数的随机数。可以通过以下代码实现:

int num1 = (int)(Math.random() * 90) + 10;
int num2 = (int)(Math.random() * 90) + 10;

接下来,可以使用Math.random()方法生成一个随机数来选择运算符。例如,可以使用1代表加法,2代表减法,3代表乘法,4代表除法。可以通过以下代码实现:

int operator = (int)(Math.random() * 4) + 1;

然后,你可以根据生成的运算符来生成表达式并输出给用户。可以通过以下代码实现:

String operatorSymbol;
switch(operator) {
    case 1:
        operatorSymbol = "+";
        break;
    case 2:
        operatorSymbol = "-";
        break;
    case 3:
        operatorSymbol = "x";
        break;
    case 4:
        operatorSymbol = "/";
        break;
    default:
        operatorSymbol = "";
        break;
}

System.out.println("请计算以下表达式的值:");
System.out.println(num1 + " " + operatorSymbol + " " + num2);

然后,你可以使用java.util.Scanner类接收用户输入的整数作为答案。可以通过以下代码实现:

Scanner scanner = new Scanner(System.in);
int answer = scanner.nextInt();

接下来,你可以根据用户输入的答案来判断是否回答正确,并计算用户答对的题数和答错的题数。在每次回答后,可以给出相应的提示。可以通过以下代码实现:

int score = 0;
int correctCount = 0;
int wrongCount = 0;

if (operator == 1) {
    if (answer == num1 + num2) {
        System.out.println("回答正确!");
        correctCount++;
    } else {
        System.out.println("回答错误!");
        wrongCount++;
    }
} else if (operator == 2) {
    if (answer == num1 - num2) {
        System.out.println("回答正确!");
        correctCount++;
    } else {
        System.out.println("回答错误!");
        wrongCount++;
    }
} else if (operator == 3) {
    if (answer == num1 * num2) {
        System.out.println("回答正确!");
        correctCount++;
    } else {
        System.out.println("回答错误!");
        wrongCount++;
    }
} else if (operator == 4) {
    if (answer == num1 / num2) {
        System.out.println("回答正确!");
        correctCount++;
    } else {
        System.out.println("回答错误!");
        wrongCount++;
    }
}

score = 10 * correctCount / (correctCount + wrongCount);
System.out.println("得分:" + score);

最后,你可以将以上代码放在一个循环中,让用户可以连续回答多个题目,直到用户选择退出为止。可以通过以下代码实现:

boolean continueFlag = true;
while (continueFlag) {
    // 生成随机数和运算符
    // ...

    // 输出表达式
    // ...

    // 接收用户答案
    // ...

    // 判断回答是否正确,并计算得分
    // ...

    // 提示用户是否继续
    System.out.println("是否继续?(y/n)");
    String continueChoice = scanner.next();
    if (!continueChoice.equalsIgnoreCase("y")) {
        continueFlag = false;
    }
}

希望以上解答对你有帮助!如果有任何问题,请随时向我提问。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^