Resumo - Fluxo de Controle
Parte da seção Lógica e Fluxo do Journey de Java da Coddy — lição 39 de 59.
Desafio
Crie um método chamado processArray que recebe dois argumentos:
- Um array unidimensional de Objects (
data) contendo tipos mistos (Integer, String ou Double) - Uma String (
type) para o tipo de processamento: "sum" ou "find"
Sua solução deve demonstrar estes conceitos:
- Use cláusulas de guarda para validar a entrada no início do método
- Use pattern matching com instanceof para verificar e fazer cast de tipos (ex.:
if (value instanceof Integer i)) - Use expressões switch com sintaxe de seta (ex.:
switch (type) -> {) - Use loops rotulados com break ou continue (ex.:
search: for())
Regras de processamento:
- "sum": Some todos os valores numéricos (ignore strings)
- "find": Encontre o primeiro valor numérico maior que 100
As mensagens de retorno devem ser:
- Se o array for null ou vazio: return "Invalid input"
- Se o tipo for inválido: return "Invalid type"
- Para "sum": return "Sum: X"
- Para "find": return index of found value or "Not found"
Experimente você mesmo
import java.util.Scanner;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
public class Main {
public static String processArray(Object[] data, String type) {
// Escreva seu código aqui
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String dataJson = scanner.nextLine();
String type = scanner.nextLine();
Type arrayType = new TypeToken<Object[]>(){}.getType();
Object[] data = new Gson().fromJson(dataJson, arrayType);
System.out.println(processArray(data, type));
}
}Todas as lições de Lógica e Fluxo
1Arrays Multidimensionais
Básicos de Arrays 2DAcessando Elementos de Arrays 2DLoops Aninhados com Arrays 2DResumo - Arrays 2DAdição e Subtração de MatrizesArrays EscalonadosArrays 3D e AlémPadrões Comuns de Arrays 2DResumo - Tudo Sobre Arrays2HashMap Parte 1
O que é um HashMap?Declarar um HashMapAcessando ValoresVerificar se a Chave ExisteModificando DicionáriosResumo - HashMap3HashMap Parte 2
Métodos do HashMapIterar com keySet()Iterar com entrySet()HashMap AninhadoResumo - Gerenciar ArmazémResumo - Operações do HashMap6Fluxo de Controle Avançado
Declarações RotuladasExpressão SwitchCorrespondência de PadrõesCláusulas de GuardaResumo - Fluxo de Controle9Projeto - Contador de Palavras Únicas
Entrada e Armazenamento de TextoProcessamento de Palavras