Калькулятор запрашивает у пользователя два номера, но если пользователь выбирает факториальный оператор (!), Мне нужно, чтобы он запрашивал у пользователя только один номер. Может кто-то помочь мне с этим?Java Calculator program factorical
public static void main(String[] args) throws IOException {
Scanner in;
in = new Scanner(System.in);
char nextChar;
char oper;
int num1 = 0;
int num2 = 0;
int base = 2;
int exp = 10;
System.out.println("Please enter operator");
oper = in.nextLine().charAt(0);
System.out.println("The operator is " + oper);
System.out.println("Please enter the first number");
num1 = in.nextInt();
System.out.println("The first number is " + num1);
if (oper =='!')
{
System.out.println("Please enter the first number");
num1 = in.nextInt();
System.out.println("The first number is " + num1);
} else {
System.out.println("Please enter the second number");
num2 = in.nextInt();
System.out.println("The second number is " + num2);
}
switch (oper) {
case '+':
System.out.println("The answer is " + (num1 + num2));//addition
break;
case '-':
System.out.println("The answer is " + (num1 - num2));//subtraction
break;
case '*':
System.out.println("The answer is " + (num1 * num2));//multiplication
break;
case '/':
System.out.println("The answer is " + (num1/num2));//division
break;
case '%':
System.out.println("The answer is " + (num1 % num2));//remainder
break;
case 'p':
System.out.println("The answer is " + exponent(num1,num2));//exponent
break;
case '!':
System.out.println("The answer is "); //factorial
break;
case 'n':
System.out.println("The answer is "); //previous answer
break;
}
}
Вы пробовали что-нибудь по своему усмотрению, или вы просто просите нас ввести код для вас? – nhouser9
Да, код выше - это то, что я пробовал, но вместо того, чтобы просить пользователя ввести только один номер, он все еще запрашивает два –
. В приведенном выше коде вы запрашиваете ввод, а затем, если оператор! вы запрашиваете другой ввод. – nhouser9