Я не знаю, почему это не работает. Я не вижу здесь ошибки компиляции, но программа всегда возвращает оператор else. Должен ли я определять операцию другим способом или называть ее каким-то еще?Java Calculator с Swing
import javax.swing.JOptionPane;
public class Calculator1 {
public static void main(String []Args) {
String firstNum;
String operation;
String secondNum;
firstNum = JOptionPane.showInputDialog("Input a number.");
secondNum = JOptionPane.showInputDialog("Input another number.");
double num1 = Double.parseDouble(firstNum);
double num2 = Double.parseDouble(secondNum);
operation = JOptionPane.showInputDialog("Input an operation sign.");
if (operation == "x") {
System.out.println(num1 * num2);
}
if (operation == "*") {
System.out.println(num1 * num2);
}
if (operation == "/") {
System.out.println(num1/num2);
}
if (operation == ":") {
System.out.println(num1/num2);
}
if (operation == "+") {
System.out.println(num1 + num2);
}
if (operation == "-") {
System.out.println(num1 - num2);
}
else {
System.out.println("Please enter an appropriate operation sign.");
}
}}
operation.equals ("х") –
Смотрите также это [калькулятор пример] (http://stackoverflow.com/a/7441804/418556). Он использует 'ScriptEngine' для оценки выражения в текстовом поле. –