diff --git a/desafios/controle-fluxo/.idea/.gitignore b/desafios/controle-fluxo/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/desafios/controle-fluxo/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/desafios/controle-fluxo/.idea/controle-fluxo.iml b/desafios/controle-fluxo/.idea/controle-fluxo.iml new file mode 100644 index 0000000..b107a2d --- /dev/null +++ b/desafios/controle-fluxo/.idea/controle-fluxo.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/desafios/controle-fluxo/.idea/inspectionProfiles/Project_Default.xml b/desafios/controle-fluxo/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..146ab09 --- /dev/null +++ b/desafios/controle-fluxo/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/desafios/controle-fluxo/.idea/misc.xml b/desafios/controle-fluxo/.idea/misc.xml new file mode 100644 index 0000000..07115cd --- /dev/null +++ b/desafios/controle-fluxo/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/desafios/controle-fluxo/.idea/modules.xml b/desafios/controle-fluxo/.idea/modules.xml new file mode 100644 index 0000000..91f96c6 --- /dev/null +++ b/desafios/controle-fluxo/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/desafios/controle-fluxo/.idea/uiDesigner.xml b/desafios/controle-fluxo/.idea/uiDesigner.xml new file mode 100644 index 0000000..2b63946 --- /dev/null +++ b/desafios/controle-fluxo/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/desafios/controle-fluxo/.idea/vcs.xml b/desafios/controle-fluxo/.idea/vcs.xml new file mode 100644 index 0000000..b2bdec2 --- /dev/null +++ b/desafios/controle-fluxo/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/desafios/controle-fluxo/out/production/controle-fluxo/.idea/.gitignore b/desafios/controle-fluxo/out/production/controle-fluxo/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/desafios/controle-fluxo/out/production/controle-fluxo/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/desafios/controle-fluxo/out/production/controle-fluxo/.idea/controle-fluxo.iml b/desafios/controle-fluxo/out/production/controle-fluxo/.idea/controle-fluxo.iml new file mode 100644 index 0000000..b107a2d --- /dev/null +++ b/desafios/controle-fluxo/out/production/controle-fluxo/.idea/controle-fluxo.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/desafios/controle-fluxo/out/production/controle-fluxo/.idea/inspectionProfiles/Project_Default.xml b/desafios/controle-fluxo/out/production/controle-fluxo/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..146ab09 --- /dev/null +++ b/desafios/controle-fluxo/out/production/controle-fluxo/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/desafios/controle-fluxo/out/production/controle-fluxo/.idea/misc.xml b/desafios/controle-fluxo/out/production/controle-fluxo/.idea/misc.xml new file mode 100644 index 0000000..07115cd --- /dev/null +++ b/desafios/controle-fluxo/out/production/controle-fluxo/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/desafios/controle-fluxo/out/production/controle-fluxo/.idea/modules.xml b/desafios/controle-fluxo/out/production/controle-fluxo/.idea/modules.xml new file mode 100644 index 0000000..91f96c6 --- /dev/null +++ b/desafios/controle-fluxo/out/production/controle-fluxo/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/desafios/controle-fluxo/out/production/controle-fluxo/.idea/uiDesigner.xml b/desafios/controle-fluxo/out/production/controle-fluxo/.idea/uiDesigner.xml new file mode 100644 index 0000000..2b63946 --- /dev/null +++ b/desafios/controle-fluxo/out/production/controle-fluxo/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/desafios/controle-fluxo/out/production/controle-fluxo/.idea/vcs.xml b/desafios/controle-fluxo/out/production/controle-fluxo/.idea/vcs.xml new file mode 100644 index 0000000..b2bdec2 --- /dev/null +++ b/desafios/controle-fluxo/out/production/controle-fluxo/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/desafios/controle-fluxo/out/production/controle-fluxo/README.md b/desafios/controle-fluxo/out/production/controle-fluxo/README.md new file mode 100644 index 0000000..cc0853a --- /dev/null +++ b/desafios/controle-fluxo/out/production/controle-fluxo/README.md @@ -0,0 +1,50 @@ +# DIO - Trilha Java Básico +www.dio.me + +#### Autores +- [Gleyson Sampaio](https://github.com/glysns) + +## Controle de Fluxo - Desafio + +Vamos exercitar todo o conteúdo apresentado no módulo de Controle de Fluxo codificando o seguinte cenário. + +O sistema deverá receber dois parâmetros via terminal que representarão dois números inteiros, com estes dois números você deverá obter a quantidade de interações (for) e realizar a impressão no console (System.out.print) dos números incrementados, exemplo: + +* Se você passar os números 12 e 30, logo teremos uma interação (for) com 18 ocorrências para imprimir os números, exemplo: `"Imprimindo o número 1"`, `"Imprimindo o número 2"` e assim por diante. +* Se o primeiro parâmetro for MAIOR que o segundo parâmetro, você deverá lançar a exceção customizada chamada de `ParametrosInvalidosException` com a segunda mensagem: "O segundo parâmetro deve ser maior que o primeiro" + + +1. Crie o projeto `DesafioControleFluxo` +2. Dentro do projeto, crie a classe `Contador.java` para realizar toda a codificação do nosso programa. +3. Dentro do projeto, crie a classe `ParametrosInvalidosException` que representará a exceção de negócio no sistema. + +Abaixo temos um trecho de código no qual você poderá seguir alterando as partes que contenham `??` + +```java +public class Contador { + public static void main(String[] args) { + Scanner terminal = new Scanner(System.in); + System.out.println("Digite o primeiro parâmetro"); + int parametroUm = terminal.??; + System.out.println("Digite o segundo parâmetro"); + int parametroDois = terminal.??; + + try { + //chamando o método contendo a lógica de contagem + contar(parametroUm, parametroDois); + + }catch (? exception) { + //imprimir a mensagem: O segundo parâmetro deve ser maior que o primeiro + } + + } + static void contar(int parametroUm, int parametroDois ) throws ParametrosInvalidosException { + //validar se parametroUm é MAIOR que parametroDois e lançar a exceção + + int contagem = parametroDois - parametroUm; + //realizar o for para imprimir os números com base na variável contagem + } +} +``` + + diff --git a/desafios/controle-fluxo/src/Contador.java b/desafios/controle-fluxo/src/Contador.java new file mode 100644 index 0000000..4577c7b --- /dev/null +++ b/desafios/controle-fluxo/src/Contador.java @@ -0,0 +1,35 @@ +package src; + +import java.util.Scanner; + +public class Contador { + public static void main(String[] args) { + Scanner terminal = new Scanner(System.in); + + System.out.println("Digite o primeiro parâmetro"); + int parametroUm = terminal.nextInt(); + + System.out.println("Digite o segundo parâmetro"); + int parametroDois = terminal.nextInt(); + + try { + contar(parametroUm, parametroDois); + + }catch (ParametrosInvalidosException exception) { + System.out.println("O segundo parâmetro deve ser maior que o primeiro"); + } + + } + static void contar(int parametroUm, int parametroDois ) throws ParametrosInvalidosException { + if (parametroUm > parametroDois) { + throw new ParametrosInvalidosException(); + } + + int contagem = parametroDois - parametroUm; + + for (int i = 1; i <= contagem; i++) { + System.out.println("Imprimindo o número " + i); + } + + } +} diff --git a/desafios/controle-fluxo/src/ParametrosInvalidosException.java b/desafios/controle-fluxo/src/ParametrosInvalidosException.java new file mode 100644 index 0000000..f22cb7c --- /dev/null +++ b/desafios/controle-fluxo/src/ParametrosInvalidosException.java @@ -0,0 +1,4 @@ +package src; + +public class ParametrosInvalidosException extends Exception{ +}