Java-калькулятор не выполняет оператор if [duplicate]
На этот вопрос уже есть ответ:
Использование сканера.nextLine () [дубликат] 5 ответовроблема @Scanner при использовании nextLine после nextXXX [duplicate]Я относительно новичок в программировании и недавно начал изучать Java, чтобы перейти к программированию на Android. Я думал, что создам очень простой калькулятор для практики, но кажется, что мое утверждение if не работает.
import java.util.Scanner;
public class Calculator {
public static void main(String[] args) {
//Create new scanner object
Scanner numInput = new Scanner( System.in );
//Enter first number
System.out.println("Please enter the first number: ");
int num1 = numInput.nextInt();
//Enter the second number
System.out.println("Please enter the second number: ");
int num2 = numInput.nextInt();
//Choose the operation to perform (+,-,*,/)
System.out.println("What operation would you like to do?");
System.out.println("Type \"+\" to add.");
System.out.println("Type \"-\" to subtract.");
System.out.println("Type \"*\" to multiply.");
System.out.println("Type \"/\" to divide.");
String opChoice = numInput.nextLine();
//Add
if (opChoice.equals("+")) {
int ans = num1 + num2;
System.out.println("Adding " + num2 + " to " + num1 + " equals " + ans + ".");
}
//Subtract
else if (opChoice.equals("-")) {
int ans = num1 - num2;
System.out.println("Subtracting " + num2 + " from " + num1 + " equals " + ans + ".");
}
//Multiply
else if (opChoice.equals("*")) {
int ans = num1 + num2;
System.out.println("Multiplying " + num2 + " with " + num1 + " equals " + ans + ".");
}
//Divide
else if (opChoice.equals("/")) {
int ans = num1 + num2;
System.out.println("Dividing " + num1 + " by " + num2 + " equals " + ans + ".");
}
}
}
Я использую Eclipse IDE, и она работает нормально, пока не спросит, какую операцию нужно выполнить. Он отобразит параметры, но не даст мне ничего ввести (я проверял это с умножением 5 на 2).
Я искал похожие вопросы и пробовал то, что они предлагали, но, похоже, все равно не работает. Я был бы признателен за любую помощь, я полагаю, что это просто простая ошибка, которую я делаю, поэтому я прошу прощения, если это кажется глупым вопросом!
EDIT: Спасибо за быстрый ответ, ребята! Я признателен за это. И да, я исправил умножение и деление. :)