首页 > 其他分享 >动手动脑

动手动脑

时间:2024-09-28 10:23:19浏览次数:8  
标签:random num1 num2 int 动脑 System 动手 operator

Enum Text
无法运行...

TextDouble
0.05 + 0.01 = 0.06
1.0 - 0.42 = 0.58
4.015 * 100 = 401.5
123.3 / 100 = 1.233

X+Y=100200
300=X+Y
第一个加号具有拼接字符串的作用,第二个加号是加法的意思

生成四则运算
import java.util.Random;
import java.util.Scanner;

public class ArithmeticQuiz {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Random random = new Random();

    int totalQuestions = 30;
    int correctAnswers = 0;

    for (int i = 0; i < totalQuestions; i++) {
        // 随机生成两个操作数
        int num1 = random.nextInt(100); // 0-99
        int num2 = random.nextInt(100); // 0-99
        // 随机选择一个运算符
        char operator = getRandomOperator();

        // 计算正确答案
        int correctAnswer = calculate(num1, num2, operator);

        // 提出问题并获取用户输入
        System.out.printf("问题 %d: %d %c %d = ?\n", i + 1, num1, operator, num2);
        System.out.print("请输入你的答案: ");
        int userAnswer = scanner.nextInt();

        // 判断用户答案是否正确
        if (userAnswer == correctAnswer) {
            System.out.println("回答正确!");
            correctAnswers++;
        } else {
            System.out.printf("回答错误!正确答案是: %d\n", correctAnswer);
        }
    }

    // 计算并显示正确率
    double accuracy = (double) correctAnswers / totalQuestions * 100;
    System.out.printf("你的正确率是: %.2f%%\n", accuracy);

    scanner.close();
}

// 随机选择一个运算符
private static char getRandomOperator() {
    char[] operators = {'+', '-', '*', '/'};
    Random random = new Random();
    return operators[random.nextInt(operators.length)];
}

// 计算结果
private static int calculate(int num1, int num2, char operator) {
    switch (operator) {
        case '+':
            return num1 + num2;
        case '-':
            return num1 - num2;
        case '*':
            return num1 * num2;
        case '/':
            // 确保不出现除以零的情况
            return num2 != 0 ? num1 / num2 : num1; // 如果 num2 为 0,返回 num1
        default:
            throw new IllegalArgumentException("未知的运算符: " + operator);
    }
}

}

标签:random,num1,num2,int,动脑,System,动手,operator
From: https://www.cnblogs.com/jackson12138/p/18437076

相关文章

  • 9.28博客(动手动脑)
    importjava.util.Random;publicclassRandomStr{publicstaticvoidmain(String[]args){//调用generateRandomString方法生成验证码StringverificationCode=generateRandomString();//输出生成的验证码System.out.println("生成的验证码为:"+verificationCode);......
  • 9.26博客(动手动脑)
    阅读相应教材,或者使用互联网搜索引擎,弄清楚反码、补码跟原码这几个概念,然后编写示例程序,对正数、负数进行各种位操作,观察输出结果,与手工计算的结果进行比对,看看Java中的数是采用上述哪种码表示的。原码:在计算机中,用二进制表示数时,最高位是符号位(0表示正数,1表示负数),其余位表示数的......
  • 动手动脑动手实验
    (1)枚举类型是引用类型!枚举不属于原始数据类型,它的每个具体值都引用一个特定的对象。相同的值则引用同一个对象。可以使用“”和equals()方法直接比对枚举变量的值,换句话说,对于枚举类型的变量,“”和equals()方法执行的结果是等价的。(2)(3)(4)在Java中,变量的“同名变量的屏......
  • 动手动脑01
    动手动脑01重新编写java测试00PlaninformationpublicclassPlanInformation{//变量id为整型,表示日报流水号,依次加一。//变量planid为字符串类型String,表示产品生产批次号(例如:2312-110,有8位字符组成,前四位表示年月,后三位表示序号)。//变量planname为字符串类......
  • java动手动脑-2024/9/27
    publicclassEnumTest{publicstaticvoidmain(String[]args){Sizes=Size.SMALL;Sizet=Size.LARGE;//s和t引用同一个对象?System.out.println(s==t);////是原始数据类型吗?System.out.println(s.getClass().i......
  • 动手动脑
    根据运行结果,我们可以得出以下结论:System.out.println(s==t);//false结论:在枚举类型中,即使它们属于同一个枚举类,不同的枚举常量也是不同的对象。因此,比较操作符==在这里返回false,说明s和t引用的是不同的枚举常量。System.out.println(s.getClass().isPrimitive())......
  • 动手动脑——数据类型的转换
    1.整数大小:整数类型的位数越大,能够表示的数值范围也越大。byte和short类型适合用于节省空间的场合,而int是最常见的整数类型,因为它提供了足够的范围和较好的性能。long类型则用于需要更大数值范围的场合。2.字符表示:char类型专门用于表示Unicode字符,其大小固定为16位,可以表示任何......
  • 动手动脑——原码,反码,补码
    在计算机科学中,原码、反码和补码是数字在计算机内部表示的一种方式,主要用于二进制数的运算,特别是负数的表示和运算。原码:原码是最直接的二进制表示方法,其中最高位是符号位,0表示正数,1表示负数。剩下的位表示数值的大小。例如,十进制数5的原码表示为:00000101(假设使用5位二进制数......
  • 动手动脑——同名变量的屏蔽原则
    在Java中,变量的“同名变量的屏蔽原则”通常指的是变量作用域的问题。当在不同的作用域中定义了同名的变量时,内部作用域的变量会“屏蔽”外部作用域的变量。这意味着在内部作用域中访问该变量名时,将会访问到内部作用域中定义的变量,而不是外部作用域中的变量。下面是一个简单的示例......
  • 9.25博客(动手动脑)
    四则运算importjava.util.Random;importjava.util.Scanner;publicclassArithmeticQuizGenerator{//主方法publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in);Randomrandom=newRandom();//用户可以选择生成题目......