我是新来的java编程。我试图让计算器可以使用if语句来执行4个基本的数学运算。但是,我没有按预期工作。当试图解析运算符时,它只是以else语句结束。如何用扫描仪扫描某个字符(system.in)
我想我没有正确格式化,如果陈述?
任何帮助,非常感谢。
谢谢。
import java.util.Scanner;
import java.lang.Object;
public class calc {
public static void main(String args[]) {
System.out.println("Test kalkulator za sabiranje");
Scanner keyboard = new Scanner(System.in);
double fnum, snum, res;
String ch = "";
System.out.println("Enter first number: ");
fnum = keyboard.nextDouble();
System.out.println("Enter operation: ");
ch = keyboard.next();
if(ch == "+") {
System.out.println("Enter second number: ");
snum = keyboard.nextDouble();
res = fnum + snum;
System.out.println("Result is: "+ res);
}
else if (ch == "-") {
System.out.println("Enter second number: ");
snum = keyboard.nextDouble();
res = fnum - snum;
System.out.println("Result is: "+ res);
}
else if (ch == "/") {
System.out.println("Enter second number: ");
snum = keyboard.nextDouble();
res = fnum/snum;
System.out.println("Result is: "+ res);
}
else if(ch == "*") {
System.out.println("Enter second number: ");
snum = keyboard.nextDouble();
res = fnum * snum;
System.out.println("Result is: "+ res);
}
else {
System.out.println("You entered wrong operator, please try again");
}
keyboard.close();
}
}
可能的重复[如何比较Java中的字符串?](http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java) –
你没有比较你的字符串正确。由于您将运算符存储在字符串中,因此您需要使用'.equals()'而不是'=='。例如:'if(ch.equals(“+”))'而不是'if(ch ==“+”)' –