找不到符号java计算代码

找不到符号java计算代码,java,linux,terminal,symbols,Java,Linux,Terminal,Symbols,我对java一窍不通。刚刚开始。请帮我弄到这个密码。试图编写代码以执行计算,但显示找不到符号 import java.util.Scanner; public class Cal { public static void main(String args[]) { int a, b, r; String op; System.out.print("Choose one : add, sub, mul, div "); Sc

我对java一窍不通。刚刚开始。请帮我弄到这个密码。试图编写代码以执行计算,但显示找不到符号

import java.util.Scanner;

public class Cal {
    public static void main(String args[]) {
        int a, b, r;
        String op;
        System.out.print("Choose one : add, sub, mul, div ");
        Scanner input = new Scanner(System.in);
        op = input.nextLine();
        System.out.print("Enter the value : ");
        Scanner val = new Scanner(System.in);
        a = val.nextInt();
        b = val.nextInt();
        if (op == add) {
            r = a + b;
            System.out.println(r);
        } else if (op == sub) {
            r = a - b;
            System.out.println(r);
        } else if (op == mul) {
            r = a * b;
            System.out.println(r);
        } else if (op == div) {
            r = a / b;
            System.out.println(r);
        }
    }
}
这几个人就是罪魁祸首。首先,字符串值必须在
内。而且,==不是字符串的良好相等检查

if ("add".equals(op))
那就更好了


当然,其他条件也是如此。

你没有符号add,sub…相反,与字符串“add”,“sub”相比,

你有一个
无法解析符号
add,sub,mul,div
上,因为这样写它们必须是可变的,而它们不是,你需要举例说明

String add = "add";

然后,对于
字符串比较
,您需要使用
等于
,而不是
=

if("add".equals(op)){...}

此外,为了避免出现多个
(也可以使用外部打印以避免
重复代码)来查找
op
的值,您可以使用开关结构:

switch (op) {
        case "add":
            r = a + b;
            break;
        case "sub":
            r = a - b;
            break;
        case "mul":
            r = a * b;
            break;
        case "div":
            r = a / b;
            break;
}
System.out.println(r);

找不到什么符号?您得到了什么类型的错误?在哪一行代码?请发布您的堆栈跟踪。
if(op==add)
如果
add
变量来自哪里?对于
sub
mul
div
,您需要使用
op==add
来比较字符串添加“
switch (op) {
        case "add":
            r = a + b;
            break;
        case "sub":
            r = a - b;
            break;
        case "mul":
            r = a * b;
            break;
        case "div":
            r = a / b;
            break;
}
System.out.println(r);