java输入和If语句
我试图创建一个命令/控制台计算器程序,但我被操作符的if语句卡住了
我知道这不是创建计算器程序的最简单(甚至不是正确的)方法,但我这样做是为了练习用户输出、输入、If语句和计算
我在想,对于运算符变量,它应该是char类型,但如果这样做,我就无法获得用户输入。以下代码有什么问题
package calculator;
import static java.lang.System.in ;
import java.util.Scanner;
public class Calculator {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println ("Welcome to the calculator!");
System.out.print ("Enter a calculation: ");
int a;
int b;
String Op; //Operator
a = in.nextInt();
b = in.nextInt();
Op = in.next();
if (Op == '*') { a*b ;}
if (Op =='/') { a/b ;}
if (Op == '+') {a+b;}
if (Op == '-') {a-b;}
}
}
我还没有完成它(正如你所看到的,没有任何输出),但这是因为我无法让if语句工作
我得到的错误是:
error: not a statement
if (Op == '-') {a-b;}
这适用于每个if语句
# 1 楼答案
你需要考虑的事情很少:
Op
是字符串,因此需要使用.equals("op")
或.equalsIgnoreCase("op")
方法进行比较李>;
来终止语句,所以a-b
不是您需要执行的语句,就像我在下面的代码中使用的那样李>'*'
的单个代码使用char
您可以看到以下带有格式化语言的代码
# 2 楼答案
你正在比较
String
和char
所以将
'-'
更改为"-"
(对其他运算符也一样),并将其与Op.equals("-")
进行比较大约
error: not a statement
将结果分配给一个变量,如
result = a-b
# 3 楼答案
您应该通过以下方式执行字符串比较:
因为,您正在对字符串使用
==
运算符,因此会出现此错误