r4lovets

CALCULATOR

Oct 1st, 2019
371
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.03 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class Calculator {
  4.     static Scanner scanner = new Scanner(System.in);
  5.  
  6.     public static void main(String[] args) {
  7.         int num1 = getInt();
  8.         int num2 = getInt();
  9.         char operation = getOperation();
  10.         int result = calc(num1,num2,operation);
  11.         System.out.println("Результат операции: "+result);
  12.     }
  13.  
  14.     public static int getInt(){
  15.         System.out.println("Введите число:");
  16.         int num;
  17.         if(scanner.hasNextInt()){
  18.             num = scanner.nextInt();
  19.         } else {
  20.             System.out.println("Вы допустили ошибку при вводе числа. Попробуйте еще раз.");
  21.             scanner.next();//рекурсия
  22.             num = getInt();
  23.         }
  24.         return num;
  25.     }
  26.  
  27.     public static char getOperation(){
  28.         System.out.println("Введите операцию:");
  29.         char operation;
  30.         if(scanner.hasNext()){
  31.             operation = scanner.next().charAt(0);
  32.         } else {
  33.             System.out.println("Вы допустили ошибку при вводе операции. Попробуйте еще раз.");
  34.             scanner.next();//рекурсия
  35.             operation = getOperation();
  36.         }
  37.         return operation;
  38.     }
  39.  
  40.     public static int calc(int num1, int num2, char operation){
  41.         int result;
  42.         switch (operation){
  43.             case '+':
  44.                 result = num1+num2;
  45.                 break;
  46.             case '-':
  47.                 result = num1-num2;
  48.                 break;
  49.             case '*':
  50.                 result = num1*num2;
  51.                 break;
  52.             case '/':
  53.                 result = num1/num2;
  54.                 break;
  55.             default:
  56.                 System.out.println("Операция не распознана. Повторите ввод.");
  57.                 result = calc(num1, num2, getOperation());//рекурсия
  58.         }
  59.         return result;
  60.     }
  61. }
Add Comment
Please, Sign In to add comment