Resumen - Flujo de Control
Parte de la sección Lógica y Flujo del Journey de Java de Coddy — lección 39 de 59.
Desafío
Crea un método llamado processArray que tome dos argumentos:
- Un arreglo 1D de Objects (
data) que contenga tipos mixtos (Integer, String, o Double) - Una String (
type) para el tipo de procesamiento: "sum" o "find"
Tu solución debe demostrar estos conceptos:
- Usa cláusulas de guardia para validar la entrada al inicio del método
- Usa coincidencia de patrones instanceof para verificar y convertir tipos (p. ej.,
if (value instanceof Integer i)) - Usa expresiones switch con sintaxis de flecha (p. ej.,
switch (type) -> {) - Usa bucles etiquetados con break o continue (p. ej.,
search: for())
Reglas de procesamiento:
- "sum": Suma todos los valores numéricos (ignora las cadenas)
- "find": Encuentra el primer valor numérico mayor que 100
Los mensajes de retorno deben ser:
- Si el arreglo es null o vacío: return "Invalid input"
- Si el tipo es inválido: return "Invalid type"
- Para "sum": return "Sum: X"
- Para "find": return el índice del valor encontrado o "Not found"
Pruébalo tú mismo
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) {
// Escribe tu código aquí
}
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 las lecciones de Lógica y Flujo
1Arreglos Multidimensionales
Básicos de Arreglos 2DAccediendo a Elementos de Arreglos 2DBucles Anidados con Arreglos 2DResumen - Arreglos 2DSuma y Resta de MatricesArreglos IrregularesArreglos 3D y Más AlláPatrones Comunes de Arreglos 2DResumen - Todo Sobre Arreglos4HashSet Parte 1
¿Qué es un HashSet?Agregando un elementoEliminando un elementoComprobando si existe un elementoVacío y tamañoLimpiar y clonarResumen - HashSet7Manejo Básico de Errores
Básicos de Try-CatchBloque FinallyLanzamiento de ExcepcionesExcepciones Personalizadas2HashMap Parte 1
¿Qué es un HashMap?Declarar un HashMapAcceder a ValoresVerificar si una Clave ExisteModificar DiccionariosResumen - HashMap3HashMap Parte 2
Métodos de HashMapIterar con keySet()Iterar con entrySet()HashMap AnidadoResumen - Gestionar AlmacénResumen - Operaciones de HashMap6Flujo de Control Avanzado
Sentencias EtiquetadasExpresión SwitchCoincidencia de PatronesCláusulas de GuardiaResumen - Flujo de Control9Proyecto - Contador de Palabras Únicas
Entrada y Almacenamiento de TextoProcesamiento de Palabras