Создание калькулятора с использованием переключателя - PullRequest
0 голосов
/ 29 июня 2018

Результат, который я получаю:

Enter a number : 
5
Enter another number : 
4
What do you want to perform on these numbers? 
You have entered a wrong action, please try again 

Где я ошибся в своем коде?

import java.util.Scanner;

    public class App {

        public static void main(String[] args) {

            double num1, num2;
            Scanner sc = new Scanner(System.in);
            System.out.println("Enter a number : ");
            num1 = sc.nextDouble();
            System.out.println("Enter another number : ");
            num2 = sc.nextDouble();

            System.out.println("What do you want to perform on these numbers? ");
            String word = sc.nextLine();

            sc.close();

            double result = 0;
            switch (word) {
            case "Addition":
                result = num1 + num2;
                System.out.println(num1 + " " + word + " " + num2 + " : " + result);
                break;
            case "Subtraction":
                result = num1 - num2;
                System.out.println(num1 + " " + word + " " + num2 + " : " + result);
                break;
            case "Multiplication":
                result = num1 * num2;
                System.out.println(num1 + " " + word + " " + num2 + " : " + result);
                break;
            case "Division":
                result = num1 / num2;
                System.out.println(num1 + " " + word + " " + num2 + " : " + result);
                break;
            default:
                System.out.println("You have entered a wrong action, please try again ");
                break;

            }

        }

    }

Ответы [ 3 ]

0 голосов
/ 29 июня 2018

Вместо использования sc.nextline() в строке 15 используйте sc.next(). Программа теперь будет ждать вашего ввода, прежде чем продолжить.

0 голосов
/ 29 июня 2018

Метод java.util.Scanner.next () находит и возвращает следующий полный токен с этого сканера.

Используйте scanner.next () вместо scanner.nextLine ().

0 голосов
/ 29 июня 2018

Можете ли вы изменить свой код, как показано ниже:

        System.out.println("What do you want to perform on these numbers? ");
        sc.nextLine(); // ADD THIS LINE
        String word = sc.nextLine();

Проблема здесь в том, что num2 = sc.nextDouble(); символ новой строки не используется.

Ниже приведен код, который я использую:

public static void main(String args[]) throws Exception {
      //  A1Pattern.printPattern(26);


        double num1, num2;
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter a number : ");
        num1 = sc.nextDouble();
        System.out.println("Enter another number : ");
        num2 = sc.nextDouble();

        System.out.println("What do you want to perform on these numbers? ");
        sc.nextLine();
        String word = sc.nextLine();

        sc.close();

        double result = 0;
        switch (word) {
            case "Addition":
                result = num1 + num2;
                System.out.println(num1 + " " + word + " " + num2 + " : " + result);
                break;
            case "Subtraction":
                result = num1 - num2;
                System.out.println(num1 + " " + word + " " + num2 + " : " + result);
                break;
            case "Multiplication":
                result = num1 * num2;
                System.out.println(num1 + " " + word + " " + num2 + " : " + result);
                break;
            case "Division":
                result = num1 / num2;
                System.out.println(num1 + " " + word + " " + num2 + " : " + result);
                break;
            default:
                System.out.println("You have entered a wrong action, please try again ");
                break;

        }

    }
  • ВЫХОД:

    Введите номер: 1 Введите другой номер: 2 Что вы хотите выполнить по этим номерам? Вычитание 1,0 вычитание 2,0: -1,0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...