Resolução dos exercícios propostos: ESTRUTURAS DE REPETIÇÃO E ARRAYS NA LINGUAGEM JAVA.
6 | Curso este que tive a honra de co-criar com a plataforma de cursos online DIGITAL INNOVATION ONE 🧡💛 e disponibilizado de forma gratuita para a comunidade dos desenvolvedores Java.
7 |
8 |
9 | 🛑 Pré-requistos
10 |
11 |
12 | - [x] Java JDK 11
13 | - [x] IDE para desenvolvimento Java
14 | - [x] Conhecer a sintaxe Java
15 |
16 |
📚 Ementa
17 |
18 | Ao assistir este curso, Dev será capaz de entender na prática como trabalhar com as estruturas de repetição (while/do-while/for) e arrays. Se tratando de arrays, também vamos conhecer a estrutura foreach.
19 |
20 | 👀 Visão geral: Estruturas de Repetição e Arrays
21 |
22 | ➿ Exercícios Loops
23 |
24 | ⛓ Exercícios Arrays
25 |
26 |
➿ ESTRUTURAS DE REPETIÇÃO
27 |
28 | 🔸 O real poder dos computadores está na sua habilidade para repetir uma operação ou uma série de operações várias vezes (*loop*).
29 | 🔸 **Uma estrutura de repetição permite que uma sequência de comandos seja executada repetidamente, caso determinadas condições são satisfeitas.**
30 | 🔸 Essas condições são representadas por expressões lógica.
31 | 🔸 As estruturas de repetição podem ser classificadas em:
32 |
33 | - [x] Repetição com teste no início (*while*)
34 | - [x] Repetição com teste no final (*do-while*)
35 | - [x] Repetição contada (*for*)
36 |
37 | 🔸O comando *break* é utilizado para terminar de forma abrupta uma repetição.
38 | 🔸Quando comando *continue* é executado, os comandos restantes da repetição são ignorados e programa volta a testar novamente a condição.
39 |
40 |
📊 FLUXOGRAMAS
41 |
42 |
➕/➖ OPERADORES DE INCREMENTO E DECREMENTO
43 |
44 |
45 |
🧮 OPERAÇÕES ARITMÉTICAS
46 |
47 |
48 |
EXTRA:
49 |
50 | FLUXO DE EXECUÇÃO ARBRITÁRIO: goto
51 |
52 | 🔸O comando goto tem por finalidade desviar a execução do programa para qualquer outro ponto do programa, desconsiderando qualquer estrutura de repetição ou estrutura condicional.
53 | 🔸Ao contrário de C/C++, Java não tem instrução goto, mas java oferece suporte a label.
54 |
55 | 🔗 https://www.geeksforgeeks.org/g-fact-64/
56 | 🔗 https://www.tutorialspoint.com/How-to-use-labels-in-Java-code
57 |
58 | ------------
59 |
💭 EXERCÍCIOS ESTRUTURAS DE REPETIÇÃO
60 |
61 |
📝 WHILE
62 |
63 |
64 | 🔸Nome e Idade: Faça um programa que leia conjuntos de dois valores, o primeiro representando o nome do aluno e o segundo representando a sua idade. (Pare o programa inserindo o valor 0 no campo nome)
65 |
66 | 🔸Nota: Faça um programa que peça uma nota, entre zero e dez. Mostre uma mensagem caso o valor seja inválido e continue pedindo até que o usuário informe um valor válido.
67 |
68 |
69 |
📝 DO-WHILE
70 |
71 | 🔸Maior e Média: Faça um programa que leia 5 números e informe o maior número e a média desses números.
72 |
73 | 🔸Par e Ímpar: Faça um programa que peça N números inteiros. Calcule e mostre a quantidade de números pares e a quantidade de números impares.
74 |
75 |
📝 FOR
76 |
77 | 🔸Tabuada: Desenvolva um gerador de tabuada, capaz de gerar a tabuada de qualquer número inteiro entre 1 a 10. O usuário deve informar de qual numero ele deseja ver a tabuada. A saída deve ser conforme o exemplo abaixo:
78 |
79 | Tabuada de 5:
80 | 5 X 1 = 5
81 | 5 X 2 = 10
82 | ...
83 | 5 X 10 = 50
84 |
85 | 🔸Fatorial: Faça um programa que calcule o fatorial de um número inteiro fornecido pelo usuário.
86 | Ex.: 5!=5.4.3.2.1=120
87 |
88 | 🔗 Lista de Exercícios Estruturas de Repetição - Possíveis Soluções
89 |
90 | ------------
91 |
92 |
⛓️ ARRAYS
93 |
94 | 🔹 Array é um objeto utilizado para armazenar sequencialmente dados do mesmo tipo.
95 | 🔹 Permanecem com o mesmo tamanho depois de criados.
96 |
97 |
98 |
99 | ------------
100 |
💭 EXERCÍCIOS ARRAYS
101 |
102 |
📝 ARRAYS UNIDIMENSIONAIS
103 |
104 | 🔹Ordem Inversa: Faça um Programa que leia um vetor de 5 números inteiros
105 | e mostre-os na ordem inversa.
106 |
107 | 🔹Consoantes: Faça um Programa que leia um vetor de 6 caracteres, e diga quantas consoantes foram lidas.
108 | Imprima as consoantes.
109 |
110 | 🔹Números Aleatórios: Faça um Programa que leia 20 números inteiros aleatórios (entre 0 e 100) armazene-os num vetor.
111 | Ao final, mostre os números e seus sucessores.
112 |
113 | 🔗 Lista de Exercícios Arrays Unidimensionais - Possíveis soluções
114 |
115 |
📝 ARRAYS MULTIDIMENSIONAIS
116 |
117 | 🔹Array Multidimensional: Gere e imprima uma matriz M 4x4 com valores aleatórios entre 0-9. Após isso determine o menor número da matriz e a sua posição(linha, coluna).
118 |
119 | 🔗 Lista de Exercícios Arrays Multidimensionais
120 |
121 | ------------
122 |
123 |
Resolução dos exercícios propostos: ESTRUTURAS DE REPETIÇÃO E ARRAYS NA LINGUAGEM JAVA.
6 | Curso este que tive a honra de co-criar com a plataforma de cursos online DIGITAL INNOVATION ONE 🧡💛 e disponibilizado de forma gratuita para a comunidade dos desenvolvedores Java.
7 |
8 |
9 | 🛑 Pré-requistos
10 |
11 |
12 | - [x] Java JDK 11
13 | - [x] IDE para desenvolvimento Java
14 | - [x] Conhecer a sintaxe Java
15 |
16 |
📚 Ementa
17 |
18 | Ao assistir este curso, Dev será capaz de entender na prática como trabalhar com as estruturas de repetição (while/do-while/for) e arrays. Se tratando de arrays, também vamos conhecer a estrutura foreach.
19 |
20 | 👀 Visão geral: Estruturas de Repetição e Arrays
21 |
22 | ➿ Exercícios Loops
23 |
24 | ⛓ Exercícios Arrays
25 |
26 |
➿ ESTRUTURAS DE REPETIÇÃO
27 |
28 | 🔸 O real poder dos computadores está na sua habilidade para repetir uma operação ou uma série de operações várias vezes (*loop*).
29 | 🔸 **Uma estrutura de repetição permite que uma sequência de comandos seja executada repetidamente, caso determinadas condições são satisfeitas.**
30 | 🔸 Essas condições são representadas por expressões lógica.
31 | 🔸 As estruturas de repetição podem ser classificadas em:
32 |
33 | - [x] Repetição com teste no início (*while*)
34 | - [x] Repetição com teste no final (*do-while*)
35 | - [x] Repetição contada (*for*)
36 |
37 | 🔸O comando *break* é utilizado para terminar de forma abrupta uma repetição.
38 | 🔸Quando comando *continue* é executado, os comandos restantes da repetição são ignorados e programa volta a testar novamente a condição.
39 |
40 |
📊 FLUXOGRAMAS
41 |
42 |
➕/➖ OPERADORES DE INCREMENTO E DECREMENTO
43 |
44 |
45 |
🧮 OPERAÇÕES ARITMÉTICAS
46 |
47 |
48 |
EXTRA:
49 |
50 | FLUXO DE EXECUÇÃO ARBRITÁRIO: goto
51 |
52 | 🔸O comando goto tem por finalidade desviar a execução do programa para qualquer outro ponto do programa, desconsiderando qualquer estrutura de repetição ou estrutura condicional.
53 | 🔸Ao contrário de C/C++, Java não tem instrução goto, mas java oferece suporte a label.
54 |
55 | 🔗 https://www.geeksforgeeks.org/g-fact-64/
56 | 🔗 https://www.tutorialspoint.com/How-to-use-labels-in-Java-code
57 |
58 | ------------
59 |
💭 EXERCÍCIOS ESTRUTURAS DE REPETIÇÃO
60 |
61 |
📝 WHILE
62 |
63 |
64 | 🔸Nome e Idade: Faça um programa que leia conjuntos de dois valores, o primeiro representando a matrícula do aluno e o segundo representando a sua altura em centímetros. (Pare inserindo o valor 0 no campo nome)
65 |
66 | 🔸Nota: Faça um programa que peça uma nota, entre zero e dez. Mostre uma mensagem caso o valor seja inválido e continue pedindo até que o usuário informe um valor válido.
67 |
68 |
69 |
📝 DO-WHILE
70 |
71 | 🔸Maior e Média: Faça um programa que leia 5 números e informe o maior número e a média desses números.
72 |
73 | 🔸Par e Ímpar: Faça um programa que peça N números inteiros, calcule e mostre a quantidade de números pares e a quantidade de números impares.
74 |
75 |
📝 FOR
76 |
77 | 🔸Tabuada: Desenvolva um gerador de tabuada, capaz de gerar a tabuada de qualquer número inteiro entre 1 a 10. O usuário deve informar de qual numero ele deseja ver a tabuada. A saída deve ser conforme o exemplo abaixo:
78 |
79 | Tabuada de 5:
80 | 5 X 1 = 5
81 | 5 X 2 = 10
82 | ...
83 | 5 X 10 = 50
84 |
85 | 🔸Fatorial: Faça um programa que calcule o fatorial de um número inteiro fornecido pelo usuário.
86 | Ex.: 5!=5.4.3.2.1=120
87 |
88 | 🔗 Lista de Exercícios Estruturas de Repetição - Possíveis Soluções
89 |
90 | ------------
91 |
92 |
⛓️ ARRAYS
93 |
94 | 🔹 Array é um objeto utilizado para armazenar sequencialmente dados do mesmo tipo.
95 | 🔹 Permanecem com o mesmo tamanho depois de criados.
96 |
97 |
98 |
99 | ------------
100 |
💭 EXERCÍCIOS ARRAYS
101 |
102 |
📝 ARRAYS UNIDIMENSIONAIS
103 |
104 | 🔹Ordem Inversa: Faça um Programa que leia um vetor de 5 números inteiros
105 | e mostre-os na ordem inversa.
106 |
107 | 🔹Consoantes: Faça um Programa que leia um vetor de 6 caracteres, e diga quantas consoantes foram lidas.
108 | Imprima as consoantes.
109 |
110 | 🔹Números Aleatórios: Faça um Programa que leia 20 números inteiros aleatórios (entre 0 e 100) armazene-os num vetor.
111 | Ao final, mostre os números e seus sucessores.
112 |
113 | 🔗 Lista de Exercícios Arrays Unidimensionais - Possíveis soluções
114 |
115 |
📝 ARRAYS MULTIDIMENSIONAIS
116 |
117 | 🔹Array Multidimensional: Gere e imprima uma matriz M 4x4 com valores aleatórios entre 0-9. Após isso determine o menor número da matriz e a sua posição(linha, coluna).
118 |
119 | 🔗 Lista de Exercícios Arrays Multidimensionais
120 |
121 | ------------
122 |
123 |
134 |
135 | Este repositório foi criado para fins de estudo, então contribua com ele.
136 | Se te ajudei de alguma forma, ficarei feliz em saber. E caso você conheça alguém que se identidique com o conteúdo, não deixe de compatilhar.
137 |
138 | Se possível:
139 |
140 | ⭐️ Star o projeto
141 |
142 | 🐛 Encontrar e relatar issues
143 |
144 |
145 | ------------
146 |
147 | Disponibilizado com ♥ por [cami-la](https://www.linkedin.com/in/cami-la/ "cami-la").
148 |
149 |
--------------------------------------------------------------------------------
/out/test/lacos-e-arrays/lacos-e-arrays.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/out/test/lacos-e-arrays/src/br/com/dio/exercicios/Test.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios;
2 |
3 | import java.util.Scanner;
4 |
5 | public class Test {
6 | public static void main(String[] args) {
7 | Scanner sc = new Scanner(System.in);
8 |
9 | double A, B, media;
10 |
11 | A = sc.nextDouble();
12 | B = sc.nextDouble();
13 |
14 | media = (A * 3.5 + B *7.5)/11; //complete os espaços em branco com as respectivas variáveis.
15 |
16 | System.out.printf("MEDIA = %.5f%n", media); // complete com a média encontrada
17 |
18 | sc.close();
19 | }
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/out/test/lacos-e-arrays/src/br/com/dio/exercicios/arrays/Ex1_OrdemInversa.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.arrays;
2 | /*
3 | Crie um vetor de 6 números inteiros
4 | e mostre-os na ordem inversa.
5 | */
6 | public class Ex1_OrdemInversa {
7 | public static void main(String[] args) {
8 |
9 | int[] vetor = {-5, -6, 15, 50, 8, 4};
10 |
11 | //System.out.println(vetor.length);
12 |
13 | System.out.print("Vetor: ");
14 | int count =0;
15 | while(count < (vetor.length)) {
16 | System.out.print(vetor[count] + " ");
17 | count++;
18 | }
19 |
20 | System.out.print("\nVetor: ");
21 | for(int i = (vetor.length - 1); i >= 0; i --) {
22 | System.out.print(vetor[i] + " ");
23 | }
24 |
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/out/test/lacos-e-arrays/src/br/com/dio/exercicios/arrays/Ex2_Consoantes.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.arrays;
2 | /*
3 | Faça um Programa que leia um vetor de 6 caracteres,
4 | e diga quantas consoantes foram lidas.
5 | Imprima as consoantes.
6 | */
7 |
8 | import java.util.Scanner;
9 |
10 | public class Ex2_Consoantes {
11 | public static void main(String[] args) {
12 | Scanner scan = new Scanner(System.in);
13 |
14 | String[] consoantes = new String[6];
15 | int quantidadeConsoantes = 0;
16 |
17 | int count = 0;
18 | do {
19 | System.out.println("Letra: ");
20 | String letra = scan.next();
21 |
22 | if ( !(letra.equalsIgnoreCase("a") |
23 | letra.equalsIgnoreCase("e") |
24 | letra.equalsIgnoreCase("i") |
25 | letra.equalsIgnoreCase("o") |
26 | letra.equalsIgnoreCase("u")) ) {
27 | consoantes[count] = letra;
28 | quantidadeConsoantes++;
29 | }
30 |
31 | count++;
32 |
33 | } while(count < consoantes.length);
34 |
35 | System.out.print("Consoantes: ");
36 | for ( String consoante : consoantes ) {
37 | if ( consoante != null)
38 | System.out.print(consoante + " ");
39 | }
40 | System.out.println("Quantidade de consoantes: " + quantidadeConsoantes);
41 | System.out.println(consoantes.length);
42 |
43 | }
44 |
45 | }
46 |
--------------------------------------------------------------------------------
/out/test/lacos-e-arrays/src/br/com/dio/exercicios/arrays/Ex3_NumerosAleatorios.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.arrays;
2 |
3 | import java.util.Random;
4 |
5 | /*
6 | Faça um Programa que leia 20 números inteiros aleatórios (entre 0 e 100) armazene-os num vetor.
7 | Ao final mostre os números e seus sucessores.
8 | */
9 | public class Ex3_NumerosAleatorios {
10 | public static void main(String[] args) {
11 | Random random = new Random();
12 |
13 | int[] numerosAleatorios = new int[20];
14 |
15 | for(int i = 0; i < numerosAleatorios.length; i++) {
16 | int numero = random.nextInt(100);
17 | numerosAleatorios[i] = numero;
18 | }
19 |
20 | System.out.print("Numeros Aleatorios: ");
21 | for (int numero : numerosAleatorios) {
22 | System.out.print(numero + " ");
23 | }
24 |
25 | System.out.print("\nAntecessor dos Numeros Aleatorios: ");
26 | for (int numero : numerosAleatorios) {
27 | System.out.print((numero-1) + " ");
28 | }
29 |
30 | System.out.print("\nSucessores dos Numeros Aleatorios: ");
31 | for (int numero : numerosAleatorios) {
32 | System.out.print((numero+1) + " ");
33 | }
34 |
35 |
36 |
37 |
38 | }
39 |
40 | }
41 |
--------------------------------------------------------------------------------
/out/test/lacos-e-arrays/src/br/com/dio/exercicios/arrays/Ex4_ArrayMultidimensional.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.arrays;
2 |
3 | import java.util.Random;
4 |
5 | /*
6 | Gere e imprima uma matriz M 4x4 com valores aleatórios entre 0-9.
7 | */
8 | public class Ex4_ArrayMultidimensional {
9 | public static void main(String[] args) {
10 | Random random = new Random();
11 |
12 | int[][] M = new int[4][4];
13 |
14 | for(int i = 0; i < M.length; i++) {
15 | for( int j = 0; j < M[i].length; j++) {
16 | M[i][j] = random.nextInt(9);
17 | }
18 | }
19 |
20 | System.out.println("Matriz: ");
21 | for (int[] linha : M ) {
22 | for (int coluna : linha ) {
23 | System.out.print(coluna + " ");
24 | }
25 | System.out.println();
26 | }
27 |
28 | }
29 |
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/out/test/lacos-e-arrays/src/br/com/dio/exercicios/arrays/comentado/ArrayMultidimensional.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.arrays.comentado;
2 |
3 | import java.util.Random;
4 | /*
5 | Gere e imprima uma matriz M 4x4 com valores aleatórios entre 0-9.
6 | Após isso determine o menor número da matriz e a sua posição(linha, coluna).
7 | */
8 | public class ArrayMultidimensional {
9 | public static void main(String[] args) {
10 | Random random = new Random(); //classe para gerar números aleatórios
11 |
12 | int[][] M = new int[4][4]; //declaração de uma matriz multidimensional
13 |
14 | //variáveis
15 | int menor = Integer.MIN_VALUE; //variável que guarda o menor valor
16 | int linha = 0, coluna = 0; //posição inicial da linha e da coluna
17 |
18 | //para: variável i = 0, até i menor que o tamanho da matriz (array multidimencional), acrescentamos 1 ao valor de i a cada loop.
19 | for (int i = 0; i < M.length; i++) { //navegando na matriz
20 | //para: variável j = 0, até i menor que o tamanho da linha, acrescentamos 1 ao valor de i a cada loop.
21 | for (int j = 0; j < M[i].length; j++) { //navegando na linha (array unidimensional)
22 | M[i][j] = random.nextInt(9); //atribuindo um número aleatóriamente a posição do elemento
23 |
24 | //se o elemento em uma determinada posição (linha e coluna) é menor que o menor número
25 | if (M[i][j] < menor) {
26 | menor = M[i][j]; //o valor da variável menor passa a ser o valor aleatório
27 | linha = i; //que está na linha representada pela variável i
28 | coluna = j; //que esta na coluna representada pela variável j
29 | }
30 | }
31 | }
32 | System.out.println("Menor: " + menor); //menor valor
33 | System.out.println("Linha: " + linha); //linha que se encontra o menor valor
34 | System.out.println("Coluna: " + coluna); //coluna que se encontra o menor valor
35 |
36 | System.out.println("\nMatriz"); //Mensagem ilustrativa
37 | for (int[] linhaM: M) { //para cada linha da matriz M
38 | for (int colunaM : linhaM) { //pegue a coluna desta linhaM
39 | System.out.print(colunaM + " "); //imprima esta coluna
40 | }
41 | System.out.println(); //pular uma linha
42 | }
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/out/test/lacos-e-arrays/src/br/com/dio/exercicios/arrays/comentado/Consoantes.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.arrays.comentado;
2 | /*
3 | Faça um Programa que leia um vetor de 6 caracteres,
4 | e diga quantas consoantes foram lidas.
5 | Imprima as consoantes.
6 | */
7 | import java.util.Scanner;
8 |
9 | public class Consoantes {
10 | public static void main(String[] args) {
11 | Scanner scan = new Scanner(System.in); //Abertura da entrada de fluxo de dados através do teclado
12 | String[] consoantes = new String[6]; //iniciando um arrays vazio com 6 posições
13 |
14 | int count = 0; //controla o loop
15 | int quantidadeDeConsoantes = 0;
16 |
17 | //loop
18 | do {
19 | System.out.print("Letra: "); //Peça uma letra
20 | String letra = scan.next(); //capture essa letra e atrubua a variável letra.
21 |
22 | //se a letra informada não seja igual a a, e, i, o ou u
23 | if (!(letra.equalsIgnoreCase("a") |
24 | letra.equalsIgnoreCase("e") |
25 | letra.equalsIgnoreCase("i") |
26 | letra.equalsIgnoreCase("o") |
27 | letra.equalsIgnoreCase("u"))) {
28 | //atribua a letra ao elemento do vetor na posição indicada pelo contador, caso seja consoante.
29 | consoantes[count] = letra;
30 | quantidadeDeConsoantes++;
31 | }
32 | count++; //acrescente o valor 1 ao contador a cada loop
33 | } while (count < consoantes.length); //enquanto o contador tiver o valor menor que o tamanho do array
34 |
35 | System.out.print("Consoantes: "); //frase ilustrativa
36 | for (String consoante : consoantes) { //para cada consoante dentro do array consoantes
37 | if (consoante != null) //se o valor da consoante for diferente de null
38 | System.out.print(consoante + " "); //imprima a consoante
39 | }
40 | System.out.println("Quantidade de consoantes: " + quantidadeDeConsoantes);
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/out/test/lacos-e-arrays/src/br/com/dio/exercicios/arrays/comentado/NumerosAleatorios.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.arrays.comentado;
2 |
3 | import java.util.Random;
4 | /*
5 | Faça um Programa que leia 20 números inteiros (entre 0 e 100) armazene-os num vetor.
6 | Ao final mostre os números e seus sucessores.
7 | */
8 | public class NumerosAleatorios {
9 | public static void main(String[] args) {
10 | Random random = new Random(); //classe para gerar números aleatórios
11 |
12 | int[] numeros = new int[20]; //array com 20 posições
13 |
14 | //para: variável i = numero, até i menor que o tamanho do array, acrescentamos 1 ao valor de i a cada loop.
15 | for (int i = 0; i < numeros.length; i++) {
16 | int numero = random.nextInt(100); //pegando um número aleatório entre 0 e 100.
17 | numeros[i] = numero; //atribuindo esse valor ao elemento na respectiva posição do array numeros.
18 | }
19 |
20 | System.out.print("Numeros: "); //frase ilustrativa
21 | //loop for-each
22 | for (int numero : numeros) { //para cada numero dentro do array de números
23 | System.out.print(numero + " "); //imprima o número
24 | }
25 |
26 | System.out.println("\n-----------------"); //separar os vetores
27 |
28 | System.out.print("Sucessores: "); //frase ilustrativa
29 | for (int numero : numeros) { //para cada numero dentro do array de números
30 | System.out.print((numero + 1) + " "); //adicione o valor 1 ao número e imprima esse novo valor
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/out/test/lacos-e-arrays/src/br/com/dio/exercicios/arrays/comentado/OrdemInversa.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.arrays.comentado;
2 |
3 | import java.util.Arrays;
4 | import java.util.List;
5 | import java.util.Scanner;
6 |
7 | /*
8 | Crie um vetor de 6 números inteiros
9 | e mostre-os na ordem inversa.
10 | */
11 | public class OrdemInversa {
12 | public static void main(String[] args) {
13 | int[] vetor = {5, 8, 9, 6, 11, -1}; //inicializando um vetor com 5 elementos.
14 |
15 | int count = (vetor.length - 1); //o contador deverá ser um número menor que o tamanho do vetor.
16 | System.out.print("Vetor Inverso: "); //Frase ilustrativa
17 | //loop
18 | while (count >= 0) { //enquanto o contador tiver o valor maior ou igual 0
19 | System.out.print(vetor[count] + " "); //imprima o valor do elemento do vetor na posição indicada pelo contador.
20 | count--; //diminua o valor 1 do contador a cada loop
21 | }
22 |
23 | System.out.println("\n--------------"); //separar os vetores
24 |
25 | System.out.print("Vetor: "); //Frase ilustrativa
26 | //loop for-each
27 | for (int elemento : vetor) { //para cada elemento dentro do vetor
28 | System.out.print(elemento + " "); //imprima o elemento
29 | }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/out/test/lacos-e-arrays/src/br/com/dio/exercicios/arrays/comentado/anotacao.txt:
--------------------------------------------------------------------------------
1 | x x x x
2 | x x x x
3 | x x x x
4 | x x x x
--------------------------------------------------------------------------------
/out/test/lacos-e-arrays/src/br/com/dio/exercicios/loops/Ex1_NomeEIdade.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.loops;
2 |
3 | import java.util.Scanner;
4 |
5 | /*
6 | Faça um programa que leia conjuntos de dois valores,
7 | o primeiro representando o nome do aluno e o segundo representando a sua idade.
8 | (Pare o programa inserindo o valor 0 no campo nome)
9 | */
10 | public class Ex1_NomeEIdade {
11 | public static void main(String[] args) {
12 | Scanner scan = new Scanner(System.in);
13 |
14 | String nome;
15 | int idade;
16 |
17 | while(true) {
18 | System.out.println("Nome: ");
19 | nome = scan.next();
20 | if (nome.equals("0")) break;
21 |
22 | System.out.println("Idade: ");
23 | idade = scan.nextInt();
24 | }
25 |
26 | System.out.println("Continua aqui...");
27 |
28 | }
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/out/test/lacos-e-arrays/src/br/com/dio/exercicios/loops/Ex2_Nota.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.loops;
2 |
3 | import java.util.Scanner;
4 |
5 | /*
6 | Faça um programa que peça uma nota, entre zero e dez.
7 | Mostre uma mensagem caso o valor seja inválido
8 | e continue pedindo
9 | até que o usuário informe um valor válido.
10 | */
11 | public class Ex2_Nota {
12 | public static void main(String[] args) {
13 | Scanner scan = new Scanner(System.in);
14 |
15 | int nota;
16 |
17 | System.out.println("Nota: ");
18 | nota = scan.nextInt();
19 |
20 | while(nota < 0 | nota > 10) {
21 | System.out.println("Nota Inválida! Digite novamente: ");
22 | nota = scan.nextInt();
23 | }
24 |
25 | }
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/out/test/lacos-e-arrays/src/br/com/dio/exercicios/loops/Ex3_MaiorEMedia.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.loops;
2 |
3 | import java.util.Scanner;
4 |
5 | /*
6 | Faça um programa que leia 5 números
7 | e informe o maior número
8 | e a média desses números.
9 | */
10 | public class Ex3_MaiorEMedia {
11 | public static void main(String[] args) {
12 | Scanner scan = new Scanner(System.in);
13 |
14 | int numero;
15 | int maior = 0;
16 | int soma = 0;
17 |
18 | int count = 0;
19 | do {
20 | System.out.println("Número: ");
21 | numero = scan.nextInt();
22 |
23 | soma = soma + numero;
24 |
25 | if (numero > maior) maior = numero;
26 |
27 | count = count + 1;
28 | } while(count < 5);
29 |
30 | System.out.println("Maior: " + maior);
31 | System.out.println("Média: " + (soma/5));
32 |
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/out/test/lacos-e-arrays/src/br/com/dio/exercicios/loops/Ex4_ParEImpar.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.loops;
2 |
3 | import java.util.Scanner;
4 |
5 | /*
6 | Faça um programa que peça N números inteiros,
7 | calcule e mostre a quantidade de números pares
8 | e a quantidade de números impares.
9 | */
10 | public class Ex4_ParEImpar {
11 | public static void main(String[] args) {
12 | Scanner scan = new Scanner(System.in);
13 |
14 | int quantNumeros;
15 | int numero;
16 | int quantPares = 0, quantImpares = 0;
17 |
18 | System.out.println("Quantidade de números: ");
19 | quantNumeros = scan.nextInt();
20 |
21 | int count = 0;
22 | do {
23 | System.out.println("Número: ");
24 | numero = scan.nextInt();
25 |
26 | if (numero % 2 == 0 ) quantPares++;
27 | else quantImpares++;
28 |
29 | count++;
30 | } while(count < quantNumeros);
31 |
32 | System.out.println("Quantidade Par: " + quantPares);
33 | System.out.println("Quantidade Ímpar: " + quantImpares);
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/out/test/lacos-e-arrays/src/br/com/dio/exercicios/loops/Ex5_Tabuada.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.loops;
2 |
3 | import java.util.Scanner;
4 |
5 | /*
6 | Desenvolva um gerador de tabuada,
7 | capaz de gerar a tabuada de qualquer número inteiro entre 1 a 10.
8 | O usuário deve informar de qual numero ele deseja ver a tabuada.
9 | A saída deve ser conforme o exemplo abaixo:
10 |
11 | Tabuada de 5:
12 | 5 X 1 = 5
13 | 5 X 2 = 10
14 | ...
15 | 5 X 10 = 50
16 | */
17 | public class Ex5_Tabuada {
18 | public static void main(String[] args) {
19 | Scanner scan = new Scanner(System.in);
20 |
21 | System.out.println("Tabuada: ");
22 | int tabuada = scan.nextInt();
23 |
24 | System.out.println("Tabuada de " + tabuada);
25 | for(int i = 1; i <= 10; i = i + 1) {
26 | System.out.println(tabuada + " X " + i + " = " + (tabuada*i));
27 | }
28 | }
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/out/test/lacos-e-arrays/src/br/com/dio/exercicios/loops/Ex6_Fatorial.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.loops;
2 |
3 | import java.util.Scanner;
4 |
5 | /*
6 | Faça um programa que calcule o fatorial de um número inteiro fornecido pelo usuário.
7 | Ex.: 5!= 120 (5 X 4 X 3 X 2 X 1)
8 | */
9 | public class Ex6_Fatorial {
10 | public static void main(String[] args) {
11 | Scanner scan = new Scanner(System.in);
12 |
13 | System.out.println("Fatorial: ");
14 | int fatorial = scan.nextInt();
15 |
16 | int multiplicacao = 1;
17 |
18 | System.out.print(fatorial +"! = ");
19 | for(int i = fatorial ; i >= 1 ; i --) {
20 | multiplicacao = multiplicacao * i;
21 | }
22 |
23 | System.out.println(multiplicacao);
24 | }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/out/test/lacos-e-arrays/src/br/com/dio/exercicios/loops/comentado/Fatorial.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.loops.comentado;
2 | /*
3 | Faça um programa que calcule o fatorial de um número inteiro fornecido pelo usuário.
4 | Ex.: 5!=5.4.3.2.1=120
5 | */
6 | import java.util.Scanner;
7 |
8 | public class Fatorial {
9 | public static void main(String[] args) {
10 | Scanner scan = new Scanner(System.in); //Abertura da entrada de fluxo de dados através do teclado
11 |
12 | System.out.println("Número: "); //Peça um número
13 | int numero = scan.nextInt(); //Entrada de dados, neste caso de um int.
14 |
15 | int multiplicacao = 1; //variável para guardar o valor da multiplicação dos valores.
16 |
17 | System.out.print(numero + "!="); //frase ilustrativo para indicar o fatorial
18 |
19 | //para: variável i = numero, até i maior que 0, diminuimos 1 ao valor de i a cada loop.
20 | for(int i = numero; i > 0; i--) {
21 | multiplicacao *= i; //multiplicamos os valores de i e armazenamos na variável multiplicação
22 |
23 | //criamos esta estrutura condicional para imprimir o resultado conforme foi solicitado no exercício.
24 | if (i != 1) { //se o i tiver o valor diferente de 1
25 | System.out.print(i + "."); //imprima o valor do i seguido de "."
26 | } else { //se não (se o i tiver o valor igual a 1)
27 | //imprima o valor do i seguido do sinal "=" e o resultado da multiplicação
28 | System.out.print(i + "=" + (multiplicacao));
29 | }
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/out/test/lacos-e-arrays/src/br/com/dio/exercicios/loops/comentado/MaiorEMedia.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.loops.comentado;
2 | /*
3 | Faça um programa que leia 5 números
4 | e informe o maior número
5 | e a média desses números.
6 | */
7 | import java.util.Scanner;
8 |
9 | public class MaiorEMedia {
10 | public static void main(String[] args) {
11 | Scanner scan = new Scanner(System.in); //Abertura da entrada de fluxo de dados através do teclado
12 |
13 | //variáveis
14 | double maior = 0; //guarda o maior número
15 | double soma = 0; //guarda a soma
16 | double media; //guarda a média
17 |
18 | int count = 0; //controla o loop
19 | //loop
20 | do {
21 | System.out.println("Número: "); //Peça um número
22 | double numero = scan.nextDouble(); //Entrada de dados, neste caso de um Double.
23 |
24 | if (numero > maior) { //Caso o valor que o usuário digitou seja maior que o valor armazanado na variável maior.
25 | maior = numero; //atribua o valor deste número a variável maior.
26 | }
27 |
28 | soma = soma + numero; //some o número informado pelo usuário com variável soma (independente do valor)
29 |
30 | count = count + 1; //some o valor 1 ao contador, até que invalide a condição do loop. (count < 5)
31 | } while (count < 5); //enquanto o contador tiver o valor menor que 5
32 |
33 | media = soma / 5; //faça o cálculo da média. (soma/quantidade)
34 |
35 | //imprimindo o maior número digtados e a média dos mesmos
36 | System.out.println("Maior: " + maior + " - Média: " + media);
37 | }
38 |
39 | }
40 |
--------------------------------------------------------------------------------
/out/test/lacos-e-arrays/src/br/com/dio/exercicios/loops/comentado/NomeEIdade.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.loops.comentado;
2 |
3 | import java.util.Scanner;
4 |
5 | /*
6 | Faça um programa que leia conjuntos de dois valores,
7 | o primeiro representando o nome do aluno e o segundo representando a sua idade.
8 | (Pare inserindo o valor 0 no campo nome)
9 | */
10 |
11 | public class NomeEIdade {
12 | public static void main(String[] args) {
13 | Scanner scan = new Scanner(System.in);
14 |
15 | //variáveis
16 | String nome; //armazena o nome
17 | int idade; //armazena a idade
18 |
19 | while(true) { //Enquando o loop for verdadeiro
20 | System.out.println("Nome: "); //Peça o nome
21 | nome = scan.next(); //armazene esse nome na variável
22 |
23 | if (nome.equals("0")) { //caso o nome igual a "0"
24 | break; //interrompa o programa
25 | }
26 |
27 | System.out.println("Idade: "); //Peça a idade
28 | idade = scan.nextInt(); //armazene a idade na variável
29 |
30 | //imprima o nome e a idade
31 | System.out.println("Nome: " + nome + " - idade: " + idade);
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/out/test/lacos-e-arrays/src/br/com/dio/exercicios/loops/comentado/Nota.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.loops.comentado;
2 | /*
3 | Faça um programa que peça uma nota, entre zero e dez.
4 | Mostre uma mensagem caso o valor seja inválido
5 | e continue pedindo
6 | até que o usuário informe um valor válido.
7 | */
8 | import java.util.Scanner;
9 |
10 | public class Nota {
11 | public static void main(String[] args) {
12 | Scanner scan = new Scanner(System.in); //Abertura da entrada de fluxo de dados através do teclado
13 |
14 | System.out.println("Nota de 0 a 10: "); //Peça uma nota de 0 a 10
15 | int nota = scan.nextInt(); //Entrada de dados, neste caso de um int
16 |
17 | while(nota < 0 | nota > 10) { //Enquanto o valor da nota for menor que 0 ou maior que 10.
18 | System.out.println("Nota Inválida!"); //Mensagem que o valor é inválido
19 | System.out.println("Tente novamente. Nota: "); //Peça novamente a nota
20 | nota = scan.nextInt(); //Entrada de dados, neste caso de um int
21 | }
22 |
23 | System.out.println("Nota: " + nota); //imprimindo a nota válida
24 | }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/out/test/lacos-e-arrays/src/br/com/dio/exercicios/loops/comentado/ParEImpar.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.loops.comentado;
2 | /*
3 | Faça um programa que peça N números inteiros,
4 | calcule e mostre a quantidade de números pares
5 | e a quantidade de números impares.
6 | */
7 | import java.util.Scanner;
8 |
9 | public class ParEImpar {
10 | public static void main(String[] args) {
11 | Scanner scan = new Scanner(System.in); //Abertura da entrada de fluxo de dados através do teclado
12 |
13 | System.out.println("Quantidade de números: "); //Peça um número
14 | int quantidadeDeNumeros = scan.nextInt(); //Entrada de dados, neste caso de um int.
15 |
16 | //variáveis para guardar a quantidade dos números pares e ímpares
17 | int quantPar = 0, quantImpar = 0;
18 |
19 | int count = 0; //controla o loop
20 | //loop
21 | do { //primeiro, independente do que tem no while, faça:
22 | System.out.println("Número: "); //Peça um número
23 | int numero = scan.nextInt(); //Entrada de dados, neste caso de um int.
24 |
25 | //se o resto da divisão do número por 2 (numero/2) for 0,
26 | if (numero % 2 == 0) quantPar++; //acrescente o valor 1 a variável quantPar.
27 | //caso contrário, o número digitado é ímpar
28 | else quantImpar++; //adicione o valor 1 a variável quantImpar.
29 |
30 | count++; //some o valor 1 ao contador até que invalide a condição do loop. (count < quantidadeDeNumeros)
31 | } while (count < quantidadeDeNumeros);
32 | // Faça o loop caso o valor do contador seja menor que a quantidade de números
33 |
34 | //imprimindo a quantidade de números pares digtados e números ímpares digitados
35 | System.out.println("Quantidade números pares: " + quantPar + " / Quantidade números ímpares: " + quantImpar);
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/out/test/lacos-e-arrays/src/br/com/dio/exercicios/loops/comentado/Tabuada.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.loops.comentado;
2 | /*
3 | Desenvolva um gerador de tabuada,
4 | capaz de gerar a tabuada de qualquer número inteiro entre 1 a 10.
5 | O usuário deve informar de qual numero ele deseja ver a tabuada.
6 | A saída deve ser conforme o exemplo abaixo:
7 |
8 | Tabuada de 5:
9 | 5 X 1 = 5
10 | 5 X 2 = 10
11 | ...
12 | 5 X 10 = 50
13 | */
14 | import java.util.Scanner;
15 |
16 | public class Tabuada {
17 | public static void main(String[] args) {
18 | Scanner scan = new Scanner(System.in); //Abertura da entrada de fluxo de dados através do teclado
19 |
20 | System.out.println("Número: "); //Peça um número
21 | int numero = scan.nextInt(); //Entrada de dados, neste caso de um int.
22 |
23 | System.out.println("Tabuada de " + numero + ":");//frase ilustrativa para indicar a tabuada
24 |
25 | //para: variável i = 0, até i menor ou igual a 10, adicionando 1 ao valor de i a cada loop.
26 | for (int i = 0; i <= 10; i = i + 1) {
27 | //número escolhido pelo usuário "X" o valor de i "=" a multiplicação do número com o i.
28 | System.out.println(numero + " X " + i + " = " + (numero * i));
29 | }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/br/com/dio/exercicios/arrays/Ex1_OrdemInversa.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.arrays;
2 | /*
3 | Crie um vetor de 6 números inteiros
4 | e mostre-os na ordem inversa.
5 | */
6 | public class Ex1_OrdemInversa {
7 | public static void main(String[] args) {
8 |
9 | int[] vetor = {-5, -6, 15, 50, 8, 4};
10 |
11 | //System.out.println(vetor.length);
12 |
13 | System.out.print("Vetor: ");
14 | int count =0;
15 | while(count < (vetor.length)) {
16 | System.out.print(vetor[count] + " ");
17 | count++;
18 | }
19 |
20 | System.out.print("\nVetor: ");
21 | for(int i = (vetor.length - 1); i >= 0; i --) {
22 | System.out.print(vetor[i] + " ");
23 | }
24 |
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/br/com/dio/exercicios/arrays/Ex2_Consoantes.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.arrays;
2 | /*
3 | Faça um Programa que leia um vetor de 6 caracteres,
4 | e diga quantas consoantes foram lidas.
5 | Imprima as consoantes.
6 | */
7 |
8 | import java.util.Scanner;
9 |
10 | public class Ex2_Consoantes {
11 | public static void main(String[] args) {
12 | Scanner scan = new Scanner(System.in);
13 |
14 | String[] consoantes = new String[6];
15 | int quantidadeConsoantes = 0;
16 |
17 | int count = 0;
18 | do {
19 | System.out.println("Letra: ");
20 | String letra = scan.next();
21 |
22 | if ( !(letra.equalsIgnoreCase("a") |
23 | letra.equalsIgnoreCase("e") |
24 | letra.equalsIgnoreCase("i") |
25 | letra.equalsIgnoreCase("o") |
26 | letra.equalsIgnoreCase("u")) ) {
27 | consoantes[count] = letra;
28 | quantidadeConsoantes++;
29 | }
30 |
31 | count++;
32 |
33 | } while(count < consoantes.length);
34 |
35 | System.out.print("Consoantes: ");
36 | for ( String consoante : consoantes ) {
37 | if ( consoante != null)
38 | System.out.print(consoante + " ");
39 | }
40 | System.out.println("Quantidade de consoantes: " + quantidadeConsoantes);
41 | System.out.println(consoantes.length);
42 |
43 | }
44 |
45 | }
46 |
--------------------------------------------------------------------------------
/src/br/com/dio/exercicios/arrays/Ex3_NumerosAleatorios.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.arrays;
2 |
3 | import java.util.Random;
4 |
5 | /*
6 | Faça um Programa que leia 20 números inteiros aleatórios (entre 0 e 100) armazene-os num vetor.
7 | Ao final mostre os números e seus sucessores.
8 | */
9 | public class Ex3_NumerosAleatorios {
10 | public static void main(String[] args) {
11 | Random random = new Random();
12 |
13 | int[] numerosAleatorios = new int[20];
14 |
15 | for(int i = 0; i < numerosAleatorios.length; i++) {
16 | int numero = random.nextInt(100);
17 | numerosAleatorios[i] = numero;
18 | }
19 |
20 | System.out.print("Numeros Aleatorios: ");
21 | for (int numero : numerosAleatorios) {
22 | System.out.print(numero + " ");
23 | }
24 |
25 | System.out.print("\nAntecessor dos Numeros Aleatorios: ");
26 | for (int numero : numerosAleatorios) {
27 | System.out.print((numero-1) + " ");
28 | }
29 |
30 | System.out.print("\nSucessores dos Numeros Aleatorios: ");
31 | for (int numero : numerosAleatorios) {
32 | System.out.print((numero+1) + " ");
33 | }
34 |
35 |
36 |
37 |
38 | }
39 |
40 | }
41 |
--------------------------------------------------------------------------------
/src/br/com/dio/exercicios/arrays/Ex4_ArrayMultidimensional.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.arrays;
2 |
3 | import java.util.Random;
4 |
5 | /*
6 | Gere e imprima uma matriz M 4x4 com valores aleatórios entre 0-9.
7 | */
8 | public class Ex4_ArrayMultidimensional {
9 | public static void main(String[] args) {
10 | Random random = new Random();
11 |
12 | int[][] M = new int[4][4];
13 |
14 | for(int i = 0; i < M.length; i++) {
15 | for( int j = 0; j < M[i].length; j++) {
16 | M[i][j] = random.nextInt(9);
17 | }
18 | }
19 |
20 | System.out.println("Matriz: ");
21 | for (int[] linha : M ) {
22 | for (int coluna : linha ) {
23 | System.out.print(coluna + " ");
24 | }
25 | System.out.println();
26 | }
27 |
28 | }
29 |
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/src/br/com/dio/exercicios/arrays/comentado/ArrayMultidimensional.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.arrays.comentado;
2 |
3 | import java.util.Random;
4 | /*
5 | Gere e imprima uma matriz M 4x4 com valores aleatórios entre 0-9.
6 | Após isso determine o menor número da matriz e a sua posição(linha, coluna).
7 | */
8 | public class ArrayMultidimensional {
9 | public static void main(String[] args) {
10 | Random random = new Random(); //classe para gerar números aleatórios
11 |
12 | int[][] M = new int[4][4]; //declaração de uma matriz multidimensional
13 |
14 | //variáveis
15 | int menor = Integer.MAX_VALUE; //variável que guarda o menor valor
16 | int linha = 0, coluna = 0; //posição inicial da linha e da coluna
17 |
18 | //para: variável i = 0, até i menor que o tamanho da matriz (array multidimencional), acrescentamos 1 ao valor de i a cada loop.
19 | for (int i = 0; i < M.length; i++) { //navegando na matriz
20 | //para: variável j = 0, até i menor que o tamanho da linha, acrescentamos 1 ao valor de i a cada loop.
21 | for (int j = 0; j < M[i].length; j++) { //navegando na linha (array unidimensional)
22 | M[i][j] = random.nextInt(9); //atribuindo um número aleatóriamente a posição do elemento
23 |
24 | //se o elemento em uma determinada posição (linha e coluna) é menor que o menor número
25 | if (M[i][j] < menor) {
26 | menor = M[i][j]; //o valor da variável menor passa a ser o valor aleatório
27 | linha = i; //que está na linha representada pela variável i
28 | coluna = j; //que esta na coluna representada pela variável j
29 | }
30 | }
31 | }
32 | System.out.println("Menor: " + menor); //menor valor
33 | System.out.println("Linha: " + linha); //linha que se encontra o menor valor
34 | System.out.println("Coluna: " + coluna); //coluna que se encontra o menor valor
35 |
36 | System.out.println("\nMatriz"); //Mensagem ilustrativa
37 | for (int[] linhaM: M) { //para cada linha da matriz M
38 | for (int colunaM : linhaM) { //pegue a coluna desta linhaM
39 | System.out.print(colunaM + " "); //imprima esta coluna
40 | }
41 | System.out.println(); //pular uma linha
42 | }
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/src/br/com/dio/exercicios/arrays/comentado/Consoantes.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.arrays.comentado;
2 | /*
3 | Faça um Programa que leia um vetor de 6 caracteres,
4 | e diga quantas consoantes foram lidas.
5 | Imprima as consoantes.
6 | */
7 | import java.util.Scanner;
8 |
9 | public class Consoantes {
10 | public static void main(String[] args) {
11 | Scanner scan = new Scanner(System.in); //Abertura da entrada de fluxo de dados através do teclado
12 | String[] consoantes = new String[6]; //iniciando um arrays vazio com 6 posições
13 |
14 | int count = 0; //controla o loop
15 | int quantidadeDeConsoantes = 0;
16 |
17 | //loop
18 | do {
19 | System.out.print("Letra: "); //Peça uma letra
20 | String letra = scan.next(); //capture essa letra e atrubua a variável letra.
21 |
22 | //se a letra informada não seja igual a a, e, i, o ou u
23 | if (!(letra.equalsIgnoreCase("a") |
24 | letra.equalsIgnoreCase("e") |
25 | letra.equalsIgnoreCase("i") |
26 | letra.equalsIgnoreCase("o") |
27 | letra.equalsIgnoreCase("u"))) {
28 | //atribua a letra ao elemento do vetor na posição indicada pelo contador, caso seja consoante.
29 | consoantes[count] = letra;
30 | quantidadeDeConsoantes++;
31 | }
32 | count++; //acrescente o valor 1 ao contador a cada loop
33 | } while (count < consoantes.length); //enquanto o contador tiver o valor menor que o tamanho do array
34 |
35 | System.out.print("Consoantes: "); //frase ilustrativa
36 | for (String consoante : consoantes) { //para cada consoante dentro do array consoantes
37 | if (consoante != null) //se o valor da consoante for diferente de null
38 | System.out.print(consoante + " "); //imprima a consoante
39 | }
40 | System.out.println("Quantidade de consoantes: " + quantidadeDeConsoantes);
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/src/br/com/dio/exercicios/arrays/comentado/NumerosAleatorios.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.arrays.comentado;
2 |
3 | import java.util.Random;
4 | /*
5 | Faça um Programa que leia 20 números inteiros (entre 0 e 100) armazene-os num vetor.
6 | Ao final mostre os números e seus sucessores.
7 | */
8 | public class NumerosAleatorios {
9 | public static void main(String[] args) {
10 | Random random = new Random(); //classe para gerar números aleatórios
11 |
12 | int[] numeros = new int[20]; //array com 20 posições
13 |
14 | //para: variável i = numero, até i menor que o tamanho do array, acrescentamos 1 ao valor de i a cada loop.
15 | for (int i = 0; i < numeros.length; i++) {
16 | int numero = random.nextInt(100); //pegando um número aleatório entre 0 e 100.
17 | numeros[i] = numero; //atribuindo esse valor ao elemento na respectiva posição do array numeros.
18 | }
19 |
20 | System.out.print("Numeros: "); //frase ilustrativa
21 | //loop for-each
22 | for (int numero : numeros) { //para cada numero dentro do array de números
23 | System.out.print(numero + " "); //imprima o número
24 | }
25 |
26 | System.out.println("\n-----------------"); //separar os vetores
27 |
28 | System.out.print("Sucessores: "); //frase ilustrativa
29 | for (int numero : numeros) { //para cada numero dentro do array de números
30 | System.out.print((numero + 1) + " "); //adicione o valor 1 ao número e imprima esse novo valor
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/src/br/com/dio/exercicios/arrays/comentado/OrdemInversa.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.arrays.comentado;
2 |
3 | import java.util.Arrays;
4 | import java.util.List;
5 | import java.util.Scanner;
6 |
7 | /*
8 | Crie um vetor de 6 números inteiros
9 | e mostre-os na ordem inversa.
10 | */
11 | public class OrdemInversa {
12 | public static void main(String[] args) {
13 | int[] vetor = {5, 8, 9, 6, 11, -1}; //inicializando um vetor com 5 elementos.
14 |
15 | int count = (vetor.length - 1); //o contador deverá ser um número menor que o tamanho do vetor.
16 | System.out.print("Vetor Inverso: "); //Frase ilustrativa
17 | //loop
18 | while (count >= 0) { //enquanto o contador tiver o valor maior ou igual 0
19 | System.out.print(vetor[count] + " "); //imprima o valor do elemento do vetor na posição indicada pelo contador.
20 | count--; //diminua o valor 1 do contador a cada loop
21 | }
22 |
23 | System.out.println("\n--------------"); //separar os vetores
24 |
25 | System.out.print("Vetor: "); //Frase ilustrativa
26 | //loop for-each
27 | for (int elemento : vetor) { //para cada elemento dentro do vetor
28 | System.out.print(elemento + " "); //imprima o elemento
29 | }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/br/com/dio/exercicios/arrays/comentado/anotacao.txt:
--------------------------------------------------------------------------------
1 | x x x x
2 | x x x x
3 | x x x x
4 | x x x x
--------------------------------------------------------------------------------
/src/br/com/dio/exercicios/loops/Ex1_NomeEIdade.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.loops;
2 |
3 | import java.util.Scanner;
4 |
5 | /*
6 | Faça um programa que leia conjuntos de dois valores,
7 | o primeiro representando o nome do aluno e o segundo representando a sua idade.
8 | (Pare o programa inserindo o valor 0 no campo nome)
9 | */
10 | public class Ex1_NomeEIdade {
11 | public static void main(String[] args) {
12 | Scanner scan = new Scanner(System.in);
13 |
14 | String nome;
15 | int idade;
16 |
17 | while(true) {
18 | System.out.println("Nome: ");
19 | nome = scan.next();
20 | if (nome.equals("0")) break;
21 |
22 | System.out.println("Idade: ");
23 | idade = scan.nextInt();
24 | }
25 |
26 | System.out.println("Continua aqui...");
27 |
28 | }
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/src/br/com/dio/exercicios/loops/Ex2_Nota.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.loops;
2 |
3 | import java.util.Scanner;
4 |
5 | /*
6 | Faça um programa que peça uma nota, entre zero e dez.
7 | Mostre uma mensagem caso o valor seja inválido
8 | e continue pedindo
9 | até que o usuário informe um valor válido.
10 | */
11 | public class Ex2_Nota {
12 | public static void main(String[] args) {
13 | Scanner scan = new Scanner(System.in);
14 |
15 | int nota;
16 |
17 | System.out.println("Nota: ");
18 | nota = scan.nextInt();
19 |
20 | while(nota < 0 | nota > 10) {
21 | System.out.println("Nota Inválida! Digite novamente: ");
22 | nota = scan.nextInt();
23 | }
24 |
25 | }
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/src/br/com/dio/exercicios/loops/Ex3_MaiorEMedia.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.loops;
2 |
3 | import java.util.Scanner;
4 |
5 | /*
6 | Faça um programa que leia 5 números
7 | e informe o maior número
8 | e a média desses números.
9 | */
10 | public class Ex3_MaiorEMedia {
11 | public static void main(String[] args) {
12 | Scanner scan = new Scanner(System.in);
13 |
14 | int numero;
15 | int maior = 0;
16 | int soma = 0;
17 |
18 | int count = 0;
19 | do {
20 | System.out.println("Número: ");
21 | numero = scan.nextInt();
22 |
23 | soma = soma + numero;
24 |
25 | if (numero > maior) maior = numero;
26 |
27 | count = count + 1;
28 | } while(count < 5);
29 |
30 | System.out.println("Maior: " + maior);
31 | System.out.println("Média: " + (soma/5));
32 |
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/br/com/dio/exercicios/loops/Ex4_ParEImpar.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.loops;
2 |
3 | import java.util.Scanner;
4 |
5 | /*
6 | Faça um programa que peça N números inteiros,
7 | calcule e mostre a quantidade de números pares
8 | e a quantidade de números impares.
9 | */
10 | public class Ex4_ParEImpar {
11 | public static void main(String[] args) {
12 | Scanner scan = new Scanner(System.in);
13 |
14 | int quantNumeros;
15 | int numero;
16 | int quantPares = 0, quantImpares = 0;
17 |
18 | System.out.println("Quantidade de números: ");
19 | quantNumeros = scan.nextInt();
20 |
21 | int count = 0;
22 | do {
23 | System.out.println("Número: ");
24 | numero = scan.nextInt();
25 |
26 | if (numero % 2 == 0 ) quantPares++;
27 | else quantImpares++;
28 |
29 | count++;
30 | } while(count < quantNumeros);
31 |
32 | System.out.println("Quantidade Par: " + quantPares);
33 | System.out.println("Quantidade Ímpar: " + quantImpares);
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/br/com/dio/exercicios/loops/Ex5_Tabuada.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.loops;
2 |
3 | import java.util.Scanner;
4 |
5 | /*
6 | Desenvolva um gerador de tabuada,
7 | capaz de gerar a tabuada de qualquer número inteiro entre 1 a 10.
8 | O usuário deve informar de qual numero ele deseja ver a tabuada.
9 | A saída deve ser conforme o exemplo abaixo:
10 |
11 | Tabuada de 5:
12 | 5 X 1 = 5
13 | 5 X 2 = 10
14 | ...
15 | 5 X 10 = 50
16 | */
17 | public class Ex5_Tabuada {
18 | public static void main(String[] args) {
19 | Scanner scan = new Scanner(System.in);
20 |
21 | System.out.println("Tabuada: ");
22 | int tabuada = scan.nextInt();
23 |
24 | System.out.println("Tabuada de " + tabuada);
25 | for(int i = 1; i <= 10; i = i + 1) {
26 | System.out.println(tabuada + " X " + i + " = " + (tabuada*i));
27 | }
28 | }
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/src/br/com/dio/exercicios/loops/Ex6_Fatorial.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.loops;
2 |
3 | import java.util.Scanner;
4 |
5 | /*
6 | Faça um programa que calcule o fatorial de um número inteiro fornecido pelo usuário.
7 | Ex.: 5!= 120 (5 X 4 X 3 X 2 X 1)
8 | */
9 | public class Ex6_Fatorial {
10 | public static void main(String[] args) {
11 | Scanner scan = new Scanner(System.in);
12 |
13 | System.out.println("Fatorial: ");
14 | int fatorial = scan.nextInt();
15 |
16 | int multiplicacao = 1;
17 |
18 | System.out.print(fatorial +"! = ");
19 | for(int i = fatorial ; i >= 1 ; i --) {
20 | multiplicacao = multiplicacao * i;
21 | }
22 |
23 | System.out.println(multiplicacao);
24 | }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/src/br/com/dio/exercicios/loops/comentado/Fatorial.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.loops.comentado;
2 | /*
3 | Faça um programa que calcule o fatorial de um número inteiro fornecido pelo usuário.
4 | Ex.: 5!=5.4.3.2.1=120
5 | */
6 | import java.util.Scanner;
7 |
8 | public class Fatorial {
9 | public static void main(String[] args) {
10 | Scanner scan = new Scanner(System.in); //Abertura da entrada de fluxo de dados através do teclado
11 |
12 | System.out.println("Número: "); //Peça um número
13 | int numero = scan.nextInt(); //Entrada de dados, neste caso de um int.
14 |
15 | int multiplicacao = 1; //variável para guardar o valor da multiplicação dos valores.
16 |
17 | System.out.print(numero + "!="); //frase ilustrativo para indicar o fatorial
18 |
19 | //para: variável i = numero, até i maior que 0, diminuimos 1 ao valor de i a cada loop.
20 | for(int i = numero; i > 0; i--) {
21 | multiplicacao *= i; //multiplicamos os valores de i e armazenamos na variável multiplicação
22 |
23 | //criamos esta estrutura condicional para imprimir o resultado conforme foi solicitado no exercício.
24 | if (i != 1) { //se o i tiver o valor diferente de 1
25 | System.out.print(i + "."); //imprima o valor do i seguido de "."
26 | } else { //se não (se o i tiver o valor igual a 1)
27 | //imprima o valor do i seguido do sinal "=" e o resultado da multiplicação
28 | System.out.print(i + "=" + (multiplicacao));
29 | }
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/br/com/dio/exercicios/loops/comentado/MaiorEMedia.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.loops.comentado;
2 | /*
3 | Faça um programa que leia 5 números
4 | e informe o maior número
5 | e a média desses números.
6 | */
7 | import java.util.Scanner;
8 |
9 | public class MaiorEMedia {
10 | public static void main(String[] args) {
11 | Scanner scan = new Scanner(System.in); //Abertura da entrada de fluxo de dados através do teclado
12 |
13 | //variáveis
14 | double maior = 0; //guarda o maior número
15 | double soma = 0; //guarda a soma
16 | double media; //guarda a média
17 |
18 | int count = 0; //controla o loop
19 | //loop
20 | do {
21 | System.out.println("Número: "); //Peça um número
22 | double numero = scan.nextDouble(); //Entrada de dados, neste caso de um Double.
23 |
24 | if (numero > maior) { //Caso o valor que o usuário digitou seja maior que o valor armazanado na variável maior.
25 | maior = numero; //atribua o valor deste número a variável maior.
26 | }
27 |
28 | soma = soma + numero; //some o número informado pelo usuário com variável soma (independente do valor)
29 |
30 | count = count + 1; //some o valor 1 ao contador, até que invalide a condição do loop. (count < 5)
31 | } while (count < 5); //enquanto o contador tiver o valor menor que 5
32 |
33 | media = soma / 5; //faça o cálculo da média. (soma/quantidade)
34 |
35 | //imprimindo o maior número digtados e a média dos mesmos
36 | System.out.println("Maior: " + maior + " - Média: " + media);
37 | }
38 |
39 | }
40 |
--------------------------------------------------------------------------------
/src/br/com/dio/exercicios/loops/comentado/NomeEIdade.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.loops.comentado;
2 |
3 | import java.util.Scanner;
4 |
5 | /*
6 | Faça um programa que leia conjuntos de dois valores,
7 | o primeiro representando o nome do aluno e o segundo representando a sua idade.
8 | (Pare inserindo o valor 0 no campo nome)
9 | */
10 |
11 | public class NomeEIdade {
12 | public static void main(String[] args) {
13 | Scanner scan = new Scanner(System.in);
14 |
15 | //variáveis
16 | String nome; //armazena o nome
17 | int idade; //armazena a idade
18 |
19 | while(true) { //Enquando o loop for verdadeiro
20 | System.out.println("Nome: "); //Peça o nome
21 | nome = scan.next(); //armazene esse nome na variável
22 |
23 | if (nome.equals("0")) { //caso o nome igual a "0"
24 | break; //interrompa o programa
25 | }
26 |
27 | System.out.println("Idade: "); //Peça a idade
28 | idade = scan.nextInt(); //armazene a idade na variável
29 |
30 | //imprima o nome e a idade
31 | System.out.println("Nome: " + nome + " - idade: " + idade);
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/br/com/dio/exercicios/loops/comentado/Nota.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.loops.comentado;
2 | /*
3 | Faça um programa que peça uma nota, entre zero e dez.
4 | Mostre uma mensagem caso o valor seja inválido
5 | e continue pedindo
6 | até que o usuário informe um valor válido.
7 | */
8 | import java.util.Scanner;
9 |
10 | public class Nota {
11 | public static void main(String[] args) {
12 | Scanner scan = new Scanner(System.in); //Abertura da entrada de fluxo de dados através do teclado
13 |
14 | System.out.println("Nota de 0 a 10: "); //Peça uma nota de 0 a 10
15 | int nota = scan.nextInt(); //Entrada de dados, neste caso de um int
16 |
17 | while(nota < 0 | nota > 10) { //Enquanto o valor da nota for menor que 0 ou maior que 10.
18 | System.out.println("Nota Inválida!"); //Mensagem que o valor é inválido
19 | System.out.println("Tente novamente. Nota: "); //Peça novamente a nota
20 | nota = scan.nextInt(); //Entrada de dados, neste caso de um int
21 | }
22 |
23 | System.out.println("Nota: " + nota); //imprimindo a nota válida
24 | }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/src/br/com/dio/exercicios/loops/comentado/ParEImpar.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.loops.comentado;
2 | /*
3 | Faça um programa que peça N números inteiros,
4 | calcule e mostre a quantidade de números pares
5 | e a quantidade de números impares.
6 | */
7 | import java.util.Scanner;
8 |
9 | public class ParEImpar {
10 | public static void main(String[] args) {
11 | Scanner scan = new Scanner(System.in); //Abertura da entrada de fluxo de dados através do teclado
12 |
13 | System.out.println("Quantidade de números: "); //Peça um número
14 | int quantidadeDeNumeros = scan.nextInt(); //Entrada de dados, neste caso de um int.
15 |
16 | //variáveis para guardar a quantidade dos números pares e ímpares
17 | int quantPar = 0, quantImpar = 0;
18 |
19 | int count = 0; //controla o loop
20 | //loop
21 | do { //primeiro, independente do que tem no while, faça:
22 | System.out.println("Número: "); //Peça um número
23 | int numero = scan.nextInt(); //Entrada de dados, neste caso de um int.
24 |
25 | //se o resto da divisão do número por 2 (numero/2) for 0,
26 | if (numero % 2 == 0) quantPar++; //acrescente o valor 1 a variável quantPar.
27 | //caso contrário, o número digitado é ímpar
28 | else quantImpar++; //adicione o valor 1 a variável quantImpar.
29 |
30 | count++; //some o valor 1 ao contador até que invalide a condição do loop. (count < quantidadeDeNumeros)
31 | } while (count < quantidadeDeNumeros);
32 | // Faça o loop caso o valor do contador seja menor que a quantidade de números
33 |
34 | //imprimindo a quantidade de números pares digtados e números ímpares digitados
35 | System.out.println("Quantidade números pares: " + quantPar + " / Quantidade números ímpares: " + quantImpar);
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/src/br/com/dio/exercicios/loops/comentado/Tabuada.java:
--------------------------------------------------------------------------------
1 | package br.com.dio.exercicios.loops.comentado;
2 | /*
3 | Desenvolva um gerador de tabuada,
4 | capaz de gerar a tabuada de qualquer número inteiro entre 1 a 10.
5 | O usuário deve informar de qual numero ele deseja ver a tabuada.
6 | A saída deve ser conforme o exemplo abaixo:
7 |
8 | Tabuada de 5:
9 | 5 X 1 = 5
10 | 5 X 2 = 10
11 | ...
12 | 5 X 10 = 50
13 | */
14 | import java.util.Scanner;
15 |
16 | public class Tabuada {
17 | public static void main(String[] args) {
18 | Scanner scan = new Scanner(System.in); //Abertura da entrada de fluxo de dados através do teclado
19 |
20 | System.out.println("Número: "); //Peça um número
21 | int numero = scan.nextInt(); //Entrada de dados, neste caso de um int.
22 |
23 | System.out.println("Tabuada de " + numero + ":");//frase ilustrativa para indicar a tabuada
24 |
25 | //para: variável i = 0, até i menor ou igual a 10, adicionando 1 ao valor de i a cada loop.
26 | for (int i = 0; i <= 10; i = i + 1) {
27 | //número escolhido pelo usuário "X" o valor de i "=" a multiplicação do número com o i.
28 | System.out.println(numero + " X " + i + " = " + (numero * i));
29 | }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------