Menu
Coddy logo textTech

Récapitulatif - Flux de contrôle

Fait partie de la section Logique & Flux du Journey Java de Coddy — leçon 39 sur 59.

challenge icon

Défi

Créez une méthode nommée processArray qui prend deux arguments :

  1. Un tableau 1D d'objets (data) contenant des types mixtes (Integer, String ou Double)
  2. Une chaîne de caractères (type) pour le type de traitement : "sum" ou "find"

Votre solution doit démontrer ces concepts :

  • Utilisez des clauses de garde pour valider l'entrée au début de la méthode
  • Utilisez le pattern matching avec instanceof pour vérifier et transtyper les types (par exemple, if (value instanceof Integer i))
  • Utilisez des expressions switch avec la syntaxe en flèche (par exemple, switch (type) -> {)
  • Utilisez des boucles étiquetées avec break ou continue (par exemple, search: for())

Règles de traitement :

  • "sum" : Additionnez toutes les valeurs numériques (ignorez les chaînes de caractères)
  • "find" : Trouvez la première valeur numérique supérieure à 100

Les messages de retour doivent être :

  • Si le tableau est null ou vide : retournez "Invalid input"
  • Si le type est invalide : retournez "Invalid type"
  • Pour "sum" : retournez "Sum: X"
  • Pour "find" : retournez "Index: X", où X est la position de cette valeur dans data, ou "Not found" si aucune valeur numérique n'est supérieure à 100

Essayez vous-même

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) {
        // Écrivez votre code ici
    }
    
    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));
    }
}

Toutes les leçons de Logique & Flux