Рубрики
Без рубрики

HackerRank #34 | Попытка обработки исключений / Catch | 🇧🇷

Эта проблема просит, чтобы мы приняли два ints и что, если не получим числа от 0 e… Помеченный как java, try, catch, exception.

Это проблема просит для получения двух int и, если не получим числа, среди 0 и 2,147,483,647 ( Integer. MAX_VALUE ), мы должны делать catch , который возвращает два исключения: ArithmeticException или InputMismatchException в зависимости от input “неправильно”.

Para isso, vamos fazer um попробуй/поймай . В этом случае, давайте сканировать внутри try , пройдя следующий код:

try (Scanner scanner = new Scanner(System.in)) {
            int x = scanner.nextInt();
            int y = scanner.nextInt();
            System.out.println(x / y);

Здесь, взяли inputs x и y и выполняем деление, как он просит проблему.

Далее, мы будем использовать catch . Для этого мы провели исключения, запрашиваемых в скобках рядом с именем нашего выбора и печатаем исключение в случае, если программа идентифицирует, что есть проблема. Выглядит это так:

        } catch (ArithmeticException arithmeticEx) {
            System.out.println(arithmeticEx);
        } catch (InputMismatchException inputMismatchEx) {
            System.out.println(inputMismatchEx.getClass().getName());
        }

На втором catch используем .getClass().getName () потому, что существуют два исключения InputMismatchException что просил. С помощью методов самого класса мы можем вернуть ошибку правильно, в зависимости от ввода каждой попытки.

=========

Окончательный код выглядит следующим образом, в на-майне:

        try (Scanner scanner = new Scanner(new File("input.txt"))) {
            int x = scanner.nextInt();
            int y = scanner.nextInt();
            System.out.println(x / y);
        } catch (ArithmeticException arithmeticEx) {
            System.out.println(arithmeticEx);
        } catch (InputMismatchException inputMismatchEx) {
            System.out.println(inputMismatchEx.getClass().getName());
        }

=========

Характеристика:

Исключение InputMismatchException : Oracle Арифметическое исключение : Oracle Попробуйте заблокировать : Oracle Блок перехвата : Оракул

============

Эта публикация является частью серии упражнений разрешены в Java на HackerRank. Перейдите полная серия:

  • HackerRank #6 | Сканер e Конец файла
  • HackerRank #7 | Int в строку/String в Int
  • Хакерский рейтинг #8 | Дата и время
  • HackerRank #9 | Блок статического инициализатора
  • HackerRank #10 | Форматировщик валют
  • HackerRank #10 | Форматировщик валют
  • HackerRank #12 | Введение в строки
  • HackerRank #13 | Сравнение подстрок
  • HackerRank #14 | Абстрактный класс
  • Хакерский рейтинг #18 | BigInteger
  • HackerRank #19 | Loops II
  • HackerRank #20 | Реверс строки
  • HackerRank #23 | Ключевое слово Instanceof
  • HackerRank #26 | Дженерики
  • HackerRank #27 | 1D Массив
  • HackerRank #28 | Анаграммы
  • HackerRank #33 | Arraylist
  • HackerRank #34 | Попытка обработки исключений/Перехват
  • HackerRank #36 | Обработка исключений
  • Хакерский рейтинг #37 | Список
  • HackerRank #38 | Подмассив
  • Хакерский рейтинг #39 | HashSet
  • HackerRank #40 | Удаление Java из очереди

Оригинал: “https://dev.to/beatrizmaciel/hackerrank-34-exception-handling-try-catch-144f”