Menu
Coddy logo textTech

Zusammenfassung - Steuerungsfluss

Teil des Abschnitts Logik & Ablauf der Java-Journey von Coddy — Lektion 39 von 59.

challenge icon

Aufgabe

Erstellen Sie eine Methode namens processArray, die zwei Argumente annimmt:

  1. Ein eindimensionales Array von Objects (data), das gemischte Typen enthält (Integer, String oder Double)
  2. Ein String (type) für den Verarbeitungstyp: "sum" oder "find"

Ihre Lösung sollte diese Konzepte demonstrieren:

  • Verwenden Sie Guard-Klauseln, um die Eingabe am Anfang der Methode zu validieren
  • Verwenden Sie instanceof Pattern Matching, um Typen zu prüfen und zu casten (z. B. if (value instanceof Integer i))
  • Verwenden Sie Switch-Expressions mit Pfeil-Syntax (z. B. switch (type) -> {)
  • Verwenden Sie beschriftete Schleifen mit break oder continue (z. B. search: for())

Verarbeitungsregeln:

  • "sum": Alle numerischen Werte addieren (Strings ignorieren)
  • "find": Erstes numerisches Wert größer als 100 finden

Rückgabe-Nachrichten sollten sein:

  • Wenn Array null oder leer ist: return "Invalid input"
  • Wenn type ungültig ist: return "Invalid type"
  • Für "sum": return "Sum: X"
  • Für "find": return Index des gefundenen Werts oder "Not found"

Probier es selbst

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) {
        // Schreibe deinen Code hier
    }
    
    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));
    }
}

Alle Lektionen in Logik & Ablauf