当前位置: 首页 > 知识库问答 >
问题:

在Java如何计算结果?[副本]

沃驰
2023-03-14

我创建这段代码是为了创建随机数和运算符,但它如何计算并显示结果呢?

它现在做的是,例如打印出来:4+1-3或9*2-8等。我不知道如何计算出4+1-3或9*2-8的结果,然后打印出来。

public static void main(String[] args) {
    int t = 0;
    String[] operators = {"-", "+", "*"};
    String operator;
    Random r = new Random();

    for (int i = 0; i < 3; i++) {
        int randNum = randNums(9, 1);
        operator = operators[r.nextInt(operators.length)];
        System.out.print(randNum);
        if (t < 2) {
            System.out.print(operator);
            t++;
        }
    }

}

共有1个答案

惠志
2023-03-14

这是一些(相对)简单的代码,将从左到右计算表达式(它没有考虑到操作的顺序,因此3+4*5的计算结果为(3+4)*5,而不是正确的3+(4*5)):

public static void main(String[] args) {
    String[] operators = {"-", "+", "*"};
    String operator;
    Random r = new Random();
    int result = -1;

    for (int i = 0; i < 3; i++) {
        int randNum = r.nextInt(9) + 1; // 1 - 9 inclusive
        if (i != 0) {
            operator = operators[r.nextInt(operators.length)];
            System.out.print(operator);
            result = calculate(result, randNum, operator);
        }
        else {
            result = randNum;
        }
        System.out.print(randNum);
    }
    System.out.println("=" + result);
}
public static int calculate(int operand1, int operand2, String operator) {
    switch (operator) {
        case "+":
            return operand1 + operand2;
        case "-":
            return operand1 - operand2;
        case "*":
            return operand1 * operand2;
        default:
            throw new RuntimeException();
    }
}
 类似资料:
  • 数字显示在屏幕上。现在我如何创建一个“getResult”函数,当您单击equal按钮从我的operate()函数返回每个等式的结果时,该函数就可以工作了?现在,当您单击等号时,最后一个数字将保留在显示屏上,而不会发生任何事情。

  • 所以这个程序要做的是从键盘上获取输入的id、工时和工资。然后,它将计算加班工资、定期工资和总工资。计算完后,必须将应计算的身份证、小时数、工资、加班工资、定期工资和总工资打印到输出中。 而且,雇员的属性和行为应该在雇员类中。

  • 问题内容: 我应该将“如果查询结果行IS = 1进行验证的代码”替换为什么? 我已经尝试过使用num_rows的多种方法,但无法正常工作。 我的PHP代码: 问题答案: 要么

  • 我应该用什么来替换'code TO VERIFY IF QUERY RESULT ROW IS=1'? 我用num_rows尝试了很多种方法,但都行不通。 我的PHP代码:

  • 嗨,我有这样的东西: 如何打印排序结果?

  • 问题内容: 我对JPA 2相当陌生,它是CriteriaBuilder / CriteriaQuery API: Java文档 在Java EE 6教程中 我想计算一个CriteriaQuery的结果而不实际检索它们。那有可能吗,我没有找到任何这样的方法,唯一的办法就是这样做: 那不可能是正确的方法… 有解决方案吗? 问题答案: 类型查询将返回。您要查询。 显然,您将希望使用示例中跳过的任何限制和