Есть ли способ зациклить меню и выбрать новые значения? - PullRequest
0 голосов
/ 15 февраля 2019

Для моего урока информатики я делаю калькулятор, в котором пользователь вводит два числа и выбирает, что с ними делать (умножить, сложить, экспонировать).Для выбора d мне нужно, чтобы пользователь ввел два новых числа, которые должны использоваться в последующих вариантах / вычислениях, другими словами, вернуться к началу и пройти через варианты, но с новыми номерами.Вот код, который у меня есть,

public class Calculator
{
    public static void main (String [] args)
    {

        double x, y, result;
        char choice;

        x = Input.readDouble("Enter the first number: ");
        y = Input.readDouble("Enter the second number: ");

        String menu = "Choose what to do with " + x + " and " + y + ":\n";
        menu = menu + "a. Add them.\n";
        menu = menu + "b. Multiply them.\n";
        menu = menu + "c. Exponentiate them.\n";
        menu = menu + "d. Enter new numbers.\n";
        menu = menu + "e. QUIT.";

        boolean again = true;
        while (again)
        {

            choice = Input.readChar(menu);
            Output.showValue("You chose ", choice);

            switch (choice)
            {
                case 'a':
                    result = x + y;
                    Output.showMessage(x + " + " + y + " is " + result);
                    break;
                case 'b':
                    result = x * y;
                    Output.showMessage(x + " x " + y + " is " + result);
                    break;
                case 'c':
                    result = (Math.pow(x, y));
                    Output.showMessage(x + " ^ " + y + " is " + result);
                    break;
                case 'd': //user enters new numbers to go throught he list with new numbers
                    x = Input.readDouble("Enter the first number: ");
                    y = Input.readDouble("Enter the second number: ");
                    continue; //or should I use break again?
                case 'e':
                    Output.showMessage("Goodbye!");
                    again = false;
                    break;
                default:
                    Output.showMessage("ERROR: " + choice + " is not a valid choice.");
            } //end switch

        } //end while

    } //end method main

} //end class Calculator
...