EChebanenko

Untitled

Dec 23rd, 2020 (edited)
659
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.56 KB | None | 0 0
  1. package HW26Lesson16;
  2.  
  3. import java.io.IOException;
  4. import java.util.Scanner;
  5.  
  6. import static Lesson11HWCAlc.Calc.getNum;
  7.  
  8. public class Logic {
  9.     static Scanner scanner = new Scanner(System.in);
  10.  
  11.     static void main(String[] args) {
  12.         try {
  13.             int num1 = getNum();
  14.             int num2 = getNum();
  15.             Methods operation = getOperation();
  16.             int result = result(num1, num2, operation);
  17.             System.out.println("Результат операции: " + result);
  18.         } catch (ArithmeticException e) {
  19.             System.err.println("На ноль делить нельзя!");
  20.         }
  21.     }
  22.  
  23.     static int getNum() {
  24.         System.out.println("Введите число:");
  25.         int num;
  26.         if (scanner.hasNextInt()) {
  27.             num = scanner.nextInt();
  28.         } else {
  29.             System.out.println("Вы допустили ошибку при вводе числа. Попробуйте еще раз.");
  30.             scanner.next();
  31.             num = getNum();
  32.         }
  33.         return num;
  34.     }
  35.  
  36.     static Methods getOperation() {
  37.         Scanner sc = new Scanner(System.in);
  38.         Methods operation;
  39.         System.out.println("Введите операцию:");
  40.  
  41.         String tmp = sc.nextLine();
  42.         switch (tmp) {
  43.             case "+":
  44.                 operation = Methods.PLUS;
  45.                 break;
  46.  
  47.             case "-":
  48.                 operation = Methods.MINUS;
  49.                 break;
  50.  
  51.             case "*":
  52.                 operation = Methods.MULTIPLY;
  53.                 break;
  54.  
  55.             case "/":
  56.                 operation = Methods.DIVIDE;
  57.                 break;
  58.             default:
  59.                 System.out.println("Вы допустили ошибку при вводе операции.");
  60.                 operation = Methods.WTF;
  61.  
  62.         }
  63.         return operation;
  64.     }
  65.  
  66.  
  67.     static int result(int num1, int num2, Methods operation) {
  68.         int result;
  69.  
  70.  
  71.         switch (operation) {
  72.             case PLUS:
  73.                 result = num1 + num2;
  74.                 break;
  75.             case MINUS:
  76.                 result = num1 - num2;
  77.                 break;
  78.             case MULTIPLY:
  79.                 result = num1 * num2;
  80.                 break;
  81.             case DIVIDE:
  82.                 result = num1 / num2;
  83.                 break;
  84.             default:
  85.                 System.out.println("Операция не распознана.");
  86.                 result = result(num1, num2, getOperation());
  87.         }
  88.         return result;
  89.     }
  90. }
  91.  
Add Comment
Please, Sign In to add comment