Требуемый вывод: Здравствуйте, я пытаюсь создать программу, которая выполняет сложение, вычитание, умножение, деление и циклы, пока вы не нажмете 'e', чтобы выйти из цикла.
Итак, я хочу, чтобы это выглядело примерно так:
A. Addition
B. Subtraction
C. Multiplication
D. Division
E. Exit
Please enter your selection, enter E to end:
//let's say they enter a, and want to add 5 plus 5
Enter your first number:
Enter your second number:
5 + 5 = 10.0
Please enter your selection, enter E to end:
//This looping part is what I want to happen! But my program just ends, and I'm not
sure how to fix it
Проблема: Моя проблема в том, что как только вы вводите нужную операцию, она выполняет арифметику только один раз, а затем отображает мое сообщение о выходе и завершается, но это должно произойти только тогда, когда пользователь вводит «Э», но остальное работает, я думаю!
Вот мой код
import java.util.Scanner;
public class Calculator_Loop {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
char selection;
char choice = 'E';
double num_1;
double num_2;
double result;
System.out.println("A. Addition\nB. Subtraction\nC. Multiplication\nD. Division \n\nE. Exit");
//System.out.println("\nPlease enter your selection, enter E to end:");
//selection = input.next().charAt(0);
//choice = Character.toUpperCase(selection);
while(choice != 'E')
System.out.println("\nPlease enter your selection, enter E to end:");
selection = input.next().charAt(0);
choice = Character.toUpperCase(selection);
if(choice == 'A') {
System.out.println("Enter your first number:");
num_1 = input.nextDouble();
System.out.println("Enter your second number:");
num_2 = input.nextDouble();
result = num_1 + num_2;
System.out.println(result);
}
if(choice == 'B'){
System.out.println("Enter your first number:");
num_1 = input.nextDouble();
System.out.println("Enter your second number:");
num_2 = input.nextDouble();
result = num_1 - num_2;
System.out.println(result);
}
if(choice == 'C'){
System.out.println("Enter your first number:");
num_1 = input.nextDouble();
System.out.println("Enter your second number:");
num_2 = input.nextDouble();
result = num_1 * num_2;
System.out.println(result);
}
if(choice == 'D'){
System.out.println("Enter your first number:");
num_1 = input.nextDouble();
System.out.println("Enter your second number:");
num_2 = input.nextDouble();
result = num_1 / num_2;
System.out.println(result);
}
System.out.println("Thank you, have a nice day!");
}
}
Что-то не так с скобками? Или мне чего-то не хватает, чтобы цикл работал? Любая помощь приветствуется, спасибо!