Movatterモバイル変換


[0]ホーム

URL:


Skip to content
DEV Community
Log in Create account

DEV Community

Beatriz Maciel
Beatriz Maciel

Posted on • Edited on

     

HackerRank #34 | Exception Handling Try / Catch | 🇧🇷

Este problema pede para recebermos doisints e que, caso não recebamos números entre 0 e 2,147,483,647 (Integer.MAX_VALUE), devemos fazer umcatch que retorna duas exceções:ArithmeticException ouInputMismatchException, dependo do input "errado".

Para isso, vamos fazer umtry / catch. Neste caso, vamos escanear dentro dotry, passando o seguinte código:

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

Aqui, pegamos os inputs dex ey e fazemos a divisão, como pede o problema.

A seguir, utilizaremos ocatch. Para isso, passamos as exceções solicitadas entre parênteses junto a um nome de nossa escolha e imprimimos a exceção caso o software identifique que há um problema. Fica assim:

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

No segundocatch usamos.getClass().getName() porque existem duas exceções deInputMismatchException que são solicitadas. Usando os métodos da própria classe podemos retornar o erro corretamente, dependendo do input de cada tentativa.

=========

O código final fica assim, dentro da main:

        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());        }
Enter fullscreen modeExit fullscreen mode

=========

Referências:

InputMismatchException : Oracle
ArithmeticException : Oracle
Try block : Oracle
Catch block : Oracle

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

Essa publicação faz parte de uma série de exercícios resolvidos em Java no HackerRank. Acesse a série completa:

Top comments(0)

Subscribe
pic
Create template

Templates let you quickly answer FAQs or store snippets for re-use.

Dismiss

Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment'spermalink.

For further actions, you may consider blocking this person and/orreporting abuse

Software Developer
  • Work
    Vilt Group
  • Joined

More fromBeatriz Maciel

DEV Community

We're a place where coders share, stay up-to-date and grow their careers.

Log in Create account

[8]ページ先頭

©2009-2025 Movatter.jp