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 acepte dos argumentos:
- Un array unidimensional de Objects (
data) que contenga tipos mixtos (Integer, String o Double) - Un String (
type) para el tipo de procesamiento: "sum" o "find"
Tu solución debe demostrar estos conceptos:
- Usa cláusulas de guarda para validar la entrada al comienzo del método
- Usa la coincidencia de patrones con instanceof para comprobar y convertir tipos (por ejemplo,
if (value instanceof Integer i)) - Usa expresiones switch con sintaxis de flecha (por ejemplo,
switch (type) -> {) - Usa bucles etiquetados con break o continue (por ejemplo,
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 devueltos deben ser:
- Si el array es null o está vacío: devuelve "Invalid input"
- Si el tipo no es válido: devuelve "Invalid type"
- Para "sum": devuelve "Sum: X"
- Para "find": devuelve la posición de ese valor en
data, o "Not found" si ningún valor numérico es mayor que 100
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 PalabrasPractica por tu cuenta: Compilador de Java online