🧩 Exercícios: Estruturas Repetitivas (while, for, do-while) e Controles de Fluxo
Spec Sistemas Com Java • Trilha Progressiva em 4 Níveis
🧭 Navegação Pedagógica
-
📖 Teoria do Capítulo 💻 Exemplos 📊 Slides 🧠 Quiz
🎯 Nível 1: Fundamentos
Problema 03.1 — Laço for Tradicional e Cálculo de Somatórios
Contexto: Laço for Tradicional e Cálculo de Somatórios no contexto de Estruturas Repetitivas (while, for, do-while) e Controles de Fluxo.
Requisitos de Execução:
- Somar valores em progressão geométrica utilizando laço for acumulador.
Resultado Esperado
Somatório calculado com laço for.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_03_1_SeuNome - Envie na tarefa:
Atividade Cap 03 - Estruturas Repetitivas (while, for, do-while) e Controles de Fluxo
🔑 Gabarito de Código & Solução Comentada
package com.empresa.sistemas;
public class ForDemo {
public static void main(String[] args) {
long total = 0;
for (int i = 1; i <= 10; i++) {
total += (long) Math.pow(2, i);
}
System.out.println("Somatorio PG: " + total);
}
}
🔍 Nível 2: Prática
Problema 03.2 — Validação com do-while e Controles de Fluxo (break/continue)
Contexto: Validação com do-while e Controles de Fluxo (break/continue) no contexto de Estruturas Repetitivas (while, for, do-while) e Controles de Fluxo.
Requisitos de Execução:
- Repetir validação até receber entrada válida, saltando iterações pares com continue.
Resultado Esperado
Fluxo de iteração filtrado com continue.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_03_2_SeuNome - Envie na tarefa:
Atividade Cap 03 - Estruturas Repetitivas (while, for, do-while) e Controles de Fluxo
🔑 Gabarito de Código & Solução Comentada
package com.empresa.sistemas;
public class DoWhileDemo {
public static void main(String[] args) {
int i = 0;
do {
i++;
if (i % 2 == 0) continue;
System.out.print(i + " ");
} while (i < 9);
System.out.println();
}
}
⚡ Nível 3: Integração
Problema 03.3 — Rótulos de Laço (Labeled Loops) para Quebra de Laços Aninhados
Contexto: Rótulos de Laço (Labeled Loops) para Quebra de Laços Aninhados no contexto de Estruturas Repetitivas (while, for, do-while) e Controles de Fluxo.
Requisitos de Execução:
- Rotular laço externo com
externo: for (...)e quebrar diretamente do laço interno combreak externo;.
Resultado Esperado
Laço externo interrompido com precisão a partir da estrutura aninhada.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_03_3_SeuNome - Envie na tarefa:
Atividade Cap 03 - Estruturas Repetitivas (while, for, do-while) e Controles de Fluxo
🔑 Gabarito de Código & Solução Comentada
package com.empresa.sistemas;
public class LabeledLoopDemo {
public static void main(String[] args) {
externo:
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
if (i * j == 4) {
System.out.println("Parada em i=" + i + ", j=" + j);
break externo;
}
}
}
}
}
🏆 Nível 4: Desafio Corporativo
Problema 03.4 — Enhanced for-each e Implementação da Interface Iterable
Contexto: Enhanced for-each e Implementação da Interface Iterable
Requisitos de Execução:
- Criar coleção customizada
FilaAtendimentoimplementandoIterable<String>para consumo com for-each.
Resultado Esperado
Classe customizada iterável diretamente via for-each nativo do Java.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_03_4_SeuNome - Envie na tarefa:
Atividade Cap 03 - Estruturas Repetitivas (while, for, do-while) e Controles de Fluxo
🔑 Gabarito de Código & Solução Comentada
package com.empresa.sistemas;
import java.util.Iterator;
import java.util.List;
public class FilaCustomizada implements Iterable<String> {
private final List<String> itens = List.of("Ticket A", "Ticket B");
@Override
public Iterator<String> iterator() { return itens.iterator(); }
public static void main(String[] args) {
FilaCustomizada fila = new FilaCustomizada();
for (String item : fila) System.out.println(item);
}
}
| ⬅️ Voltar ao Índice de Exercícios | 📚 Sumário de Tópicos |