Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" path="codigo-fonte/tipos-variaveis/src"/>
<classpathentry kind="src" path="desafios/controle-fluxo"/>
<classpathentry kind="src" path="desafios/sintaxe"/>
<classpathentry kind="output" path="bin"/>
</classpath>
17 changes: 17 additions & 0 deletions .project
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>trilha-java-basico</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
50 changes: 50 additions & 0 deletions bin/README.md
Original file line number Diff line number Diff line change
@@ -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
}
}
```


47 changes: 47 additions & 0 deletions desafios/controle-fluxo/application/Contador.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package application;

import exception.ParametrosInvalidosException;
import java.util.Scanner;

public class Contador {

public static void main(String[] args) {
Scanner input = new Scanner(System.in);
while(true) {
try {

System.out.print("Insira o primeiro parâmetro: ");
int p1 = Integer.parseInt(input.nextLine());
System.out.print("Insira o segundo parâmetro: ");
int p2 = Integer.parseInt(input.nextLine());


contar(p1, p2);

break;

}catch (ParametrosInvalidosException e) {
System.out.println(e.getMessage());
System.out.println();
continue;
} catch(Exception e) {
System.out.println(e.getMessage());
}
}


}
static void contar(int p1, int p2 ) throws ParametrosInvalidosException {
if(p1 > p2) {
throw new ParametrosInvalidosException("O segundo parâmetro deve ser maior que o primeiro");
}

int count = p2 - p1;
//realizar o for para imprimir os números com base na variável contagem
for(int i = 0; i < count; i++) {
System.out.println(String.format("Imprimindo o número %d", i+1));
}
return;
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package exception;

public class ParametrosInvalidosException extends Exception{

/**
*
*/
private static final long serialVersionUID = 1L;

public ParametrosInvalidosException(String msg) {
super(msg);
}

}
35 changes: 35 additions & 0 deletions desafios/sintaxe/ContaTerminal.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@

import java.util.Locale;
import java.util.Scanner;

public class ContaTerminal {

public static void main(String[] args) {

Scanner input = new Scanner(System.in).useLocale(Locale.US);

System.out.print("Insira o numero da conta: ");
int numero = input.nextInt();
input.nextLine();

System.out.print("Insira a agencia: ");
String agencia = input.nextLine();

System.out.print("Insira o seu nome: ");
String nomeCliente = input.nextLine();

System.out.print("Insira seu saldo: ");
double saldo = input.nextDouble();
System.out.println();

System.out.println(String.format("Olá %s, obrigado por criar uma conta em nosso banco," +
" sua agência é %s, conta %d e seu saldo %.2f já está disponível para saque;",
nomeCliente,
agencia,
numero,
saldo));

input.close();

}
}