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’Objects (data) contenant des types mixtes (Integer, String ou Double)
  2. Un String (type) indiquant le type de traitement : "sum" ou "find"

Votre solution doit démontrer les concepts suivants :

  • Utiliser des clauses de garde pour valider l’entrée au début de la méthode
  • Utiliser la correspondance de motifs avec instanceof pour vérifier et convertir les types (par exemple, if (value instanceof Integer i))
  • Utiliser des expressions switch avec une syntaxe utilisant des flèches (par exemple, switch (type) -> {)
  • Utiliser des boucles étiquetées avec break ou continue (par exemple, search: for())

Règles de traitement :

  • "sum" : additionner toutes les valeurs numériques (ignorer les chaînes)
  • "find" : trouver la première valeur numérique supérieure à 100

Les messages retournés doivent être les suivants :

  • Si le tableau est null ou vide : retourner "Invalid input"
  • Si le type n’est pas valide : retourner "Invalid type"
  • Pour "sum" : retourner "Sum: X"
  • Pour "find" : retourner 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

Entraînez-vous par vous-même : Compilateur Java en ligne