Menu
Coddy logo textTech

Zusammenfassung - Steuerungsfluss

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

challenge icon

Aufgabe

Erstelle eine Methode namens processArray, die zwei Argumente entgegennimmt:

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

Deine Lösung sollte diese Konzepte veranschaulichen:

  • Verwende Guard Clauses, um die Eingabe am Anfang der Methode zu validieren
  • Verwende Pattern Matching mit instanceof, um Typen zu prüfen und zu casten (z. B. if (value instanceof Integer i))
  • Verwende Switch-Ausdrücke mit Pfeilsyntax (z. B. switch (type) -> {)
  • Verwende markierte Schleifen mit break oder continue (z. B. search: for())

Verarbeitungsregeln:

  • "sum": Addiere alle numerischen Werte (ignoriere Strings)
  • "find": Finde den ersten numerischen Wert, der größer als 100 ist

Die Rückgabemeldungen sollten lauten:

  • Wenn das Array null oder leer ist: gib "Invalid input" zurück
  • Wenn type ungültig ist: gib "Invalid type" zurück
  • Für "sum": gib "Sum: X" zurück
  • Für "find": gib die Position dieses Werts in data zurück 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 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

Übe selbstständig: Online-Java-Compiler