Resolução dos exercícios propostos: ESTRUTURAS DE REPETIÇÃO E ARRAYS NA LINGUAGEM JAVA. 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.
🛑
Pré-requistos
Java JDK 11
IDE para desenvolvimento Java
Conhecer a sintaxe Java
📚
Ementa
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.
🔸
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).
🔸
Uma estrutura de repetição permite que uma sequência de comandos seja executada repetidamente, caso determinadas condições são satisfeitas.
🔸
Essas condições são representadas por expressões lógica.
🔸
As estruturas de repetição podem ser classificadas em:
Repetição com teste no início (while)
Repetição com teste no final (do-while)
Repetição contada (for)
🔸
O comando break é utilizado para terminar de forma abrupta uma repetição.
🔸
Quando comando continue é executado, os comandos restantes da repetição são ignorados e programa volta a testar novamente a condição.
📊
FLUXOGRAMAS
➕
/
➖
OPERADORES DE INCREMENTO E DECREMENTO
🧮
OPERAÇÕES ARITMÉTICAS
EXTRA:
FLUXO DE EXECUÇÃO ARBRITÁRIO: goto
🔸
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.
🔸
Ao contrário de C/C++, Java não tem instrução goto, mas java oferece suporte a label.
🔸
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)
🔸
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.
📝
DO-WHILE
🔸
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.
🔸
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.
📝
FOR
🔸
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:
Tabuada de 5: 5 X 1 = 5 5 X 2 = 10 ... 5 X 10 = 50
🔸
Fatorial: Faça um programa que calcule o fatorial de um número inteiro fornecido pelo usuário. Ex.: 5!=5.4.3.2.1=120
🔹
Array é um objeto utilizado para armazenar sequencialmente dados do mesmo tipo.
🔹
Permanecem com o mesmo tamanho depois de criados.
💭
EXERCÍCIOS ARRAYS
📝
ARRAYS UNIDIMENSIONAIS
🔹
Ordem Inversa: Faça um Programa que leia um vetor de 5 números inteiros e mostre-os na ordem inversa.
🔹
Consoantes: Faça um Programa que leia um vetor de 6 caracteres, e diga quantas consoantes foram lidas. Imprima as consoantes.
🔹
Números Aleatórios: Faça um Programa que leia 20 números inteiros aleatórios (entre 0 e 100) armazene-os num vetor. Ao final, mostre os números e seus sucessores.
🔹
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).
Este repositório foi criado para fins de estudo, então contribua com ele. 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.
Poderia me ajudar?
Estou tentando fazer um rolador de dados, consegui até certo ponto e agora no final eu travei.
Gostaria que no final fosse dito os números que fossem acima da dificuldade de ação(dif).
public class Main {
public static void main(String[] args) {
Random random = new Random();
Scanner scan = new Scanner(System.in);
int dif, dados;
System.out.println("Qual a Dificuldade da ação? ");
dif = scan.nextInt();
System.out.println("Quantos dados? ");
dados = scan.nextInt();
int[] numerosAleatorios = new int[dados];
for (int i = 0; i < numerosAleatorios.length; i++) {
int numero = random.nextInt(10);
numerosAleatorios[i] = numero + 1;
}
System.out.print("Dados rolados: ");
for (int numero : numerosAleatorios) {
System.out.print(numero + " ");
}
--------------tentei exemplificar aqui no final----------------
// MOSTRAR OS NUMEROS ACIMA DA DIFICULDADE
//System.out.print("\nSucessos: ");
//for (int numero : numerosAleatorios) {
// System.out.print((numero >= dif) + " ");
O titulo do primeiro exercício do WHILE não condiz com o enunciado, poderia checar por favor?
WHILE
Estava me causando confusão mas localizei na lista deste link Lista de Estruturas de Repetição, no exercício 39, e entendi.
@cami-la
Notei que o enunciado não está exatamente como foi desenvolvido.
Apresento uma nova abordagem para sua avalição.
E para sair do programa só digitar -1.
`package br.com.dio.loops;
import java.util.Scanner;
/**
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
*/
public class Nota {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
Integer nota = 0;
while ( nota != -1 ){
System.out.println("Digite sua nota: ");
nota = scan.nextInt();
if ( !(nota >= 0 && nota <= 10) ){
System.out.println("Digite uma nota entre 0 e 10");
}
}
Estou fazendo o Bootcamp TQI da Dio e na aula de resolução do exercício Ex3 - MaiorMedia eu acho que a forma como o contador foi construído poderia apresentar um resultado errado atribuindo o valor Zero para ele fora do laço. caso o usuário do programa digite somente números negativos, ao final da execução o programa vai entregar que o maior número digitado teria sido o Zero, mesmo ele não ter sido digitado.
Eu resolvi esta questão fazendo o seguinte código no método main:
Scanner sc = new Scanner(System.in);
int numero, maior, soma;
double media;
int i = 1;
System.out.print("Digite o 1º número:");
numero = sc.nextInt();
maior = numero;
soma = numero;
do{
System.out.printf("Digite o %dº número: ", i+1);
numero = sc.nextInt();
soma += numero;
if (numero > maior) maior = numero;
} while(i++ < 4);
media = (double)soma / 5;
System.out.println("O maior número foi: " + maior);
System.out.println("A média é igual a: " + media);
sc.close();
Boa tarde, Camila!
No exercício MaiorEMedia, como atribuímos 0 para a variável Maior o programa não é capaz de identificar o maior número se utilizarmos números negativos. Como podemos adaptar o código para funcionar também para números negativos?
Olá professora tentei criar uma taboada usando while porém não deu muito certo.
https://github.com/VLHIDDEN/Tabuada_java_while_E_For
Se possivel dê uma olhada, ela retorna a respota correta porém não em lista.
/*
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)
*/
public class Ex1_NomeEIdade {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String nome;
int idade;
while(true) {
System.out.println("Nome: ");
nome = scan.next();
if (nome.equals("0")) break;
System.out.println("Idade: ");
idade = scan.nextInt();
}
System.out.println("Continua aqui...");
}
Está dando os seguintes problemas:
Resource leak: 'scan' is never closed Java(53681799) Ln10, Col 17
The value of the local variable is not used Java (536870973) Ln 13, col13
Olá Camila, estou tentando abrir o código da solução de exercícios da estrutura de repetição, não consigo visualizar o código e nem copiá-lo, como faço para pegar o código 002 da lista de exercícios de estruturas de repetição?
Boa noite Camila, estou fazendo os exercícios de loop e arrays junto com as aulas, e estou fazendo tudo manualmente, mas quando faço a palavra bound fica vermelha, e quando copio o código do seu github ele não fica vermelho, queria saber se pode me ajudar com esse problema.
Boa noite Camila! Não consegui nem criar a estrutura sugerida por você na aula, pois a pasta src só é possível ser criada como package e aí só assim ele cria o arquivo main.java . Caso contrário, se for como diretório, não é possível prosseguir, pois o arquivo do exercício não roda... Tem alguma dica de construção do formato sugerido por você?
Observação: fiz as aulas da semana iFood com você e fiz as aulas anteriores a sua nesse bootcamp, porém sem sucesso para criação dos exercícios para acompanhá-la...