Я пытаюсь создать базовый калькулятор. Вот мой код:Умножение не работает в простом java-калькуляторе
public class Calc2 {
public static void main(String[] args) {
String[] calcArray;
calcArray = new String[3];
calcArray[0] = args[0];
calcArray[1] = args[1];
calcArray[2] = args[2];
double result = 0;
if (args.length == 3) {
double firstNumber = Double.parseDouble(args[0]);
int operator = args[1].charAt(0);
double secondNumber = Double.parseDouble(args[2]);
System.out.print(args[0] + " " + args[1] + " " + args[2] + " = ");
switch (operator)
{
case ('+'):
result = firstNumber + secondNumber;
break;
case ('-'):
result = firstNumber - secondNumber;
break;
case ('*'):
result = firstNumber * secondNumber;
break;
case ('/'):
result = firstNumber/secondNumber;
break;
default:
System.out.println("Invalid Operator selected");
}
System.out.printf(" " + result);
}
else
{
System.out.println("Incorrect arguments quantity");
}
}
}
Кажется, что "-", "+", "/" операторы работает правильно, но когда я пытаюсь выполнить умножение в этом коде, например:
java Calc2 4 * 3
Программа отобразит следующий результат:
Incorrect argument quantity
Пожалуйста, объясните, почему это происходит и как это исправить. Спасибо.
Некоторые символы распознаются командной строкой, такие как обратная косая черта, символ трубы и т. Д. Они потребляют эти символы и интерпретируют их, например. если вы используете символ трубы, он запускает все слева и передает выход во все справа. –