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 entgegennimmt:

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

Ihre Lösung sollte diese Konzepte demonstrieren:

  • Verwenden Sie Guard Clauses, 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-Ausdrücke mit Pfeilsyntax (z. B. switch (type) -> {)
  • Verwenden Sie benannte Schleifen (labeled loops) mit break oder continue (z. B. search: for())

Verarbeitungsregeln:

  • "sum": Addieren Sie alle numerischen Werte (ignorieren Sie Strings)
  • "find": Finden Sie den ersten numerischen Wert, der größer als 100 ist

Die Rückgabemeldungen sollten wie folgt lauten:

  • Wenn das Array null oder leer ist: geben Sie "Invalid input" zurück
  • Wenn der Typ ungültig ist: geben Sie "Invalid type" zurück
  • Für "sum": geben Sie "Sum: X" zurück
  • Für "find": geben Sie den Index als String zurück, wobei X die Position dieses Wertes in data ist, oder "Not found", wenn kein numerischer Wert größer als 100 ist

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 hier deinen Code
    }
    
    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