找不到符号java计算代码
我对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
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);