Riepilogo - Flusso di controllo
Fa parte della sezione Logica e flusso del percorso Java di Coddy. Lezione 39 di 59.
Sfida
Crea un metodo chiamato processArray che accetta due argomenti:
- Un array 1D di Object (
data) contenente tipi misti (Integer, String o Double) - Una String (
type) per il tipo di elaborazione: "sum" o "find"
La tua soluzione dovrebbe dimostrare questi concetti:
- Usa clausole di guardia per convalidare l'input all'inizio del metodo
- Usa il pattern matching di instanceof per verificare e convertire i tipi (ad es.,
if (value instanceof Integer i)) - Usa espressioni switch con sintassi a freccia (ad es.,
switch (type) -> {) - Usa cicli etichettati con break o continue (ad es.,
search: for())
Regole di elaborazione:
- "sum": Somma tutti i valori numerici (ignora le stringhe)
- "find": Trova il primo valore numerico maggiore di 100
I messaggi restituiti dovrebbero essere:
- Se l'array è null o vuoto: restituisci "Invalid input"
- Se il tipo non è valido: restituisci "Invalid type"
- Per "sum": restituisci "Sum: X"
- Per "find": restituisci la posizione di quel valore in
data, oppure "Not found" se nessun valore numerico è maggiore di 100
Provalo tu
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) {
// Scrivi qui il tuo codice
}
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));
}
}Tutte le lezioni di Logica e flusso
1Array multidimensionali
Concetti di base degli array 2DAccesso agli elementi degli array 2DCicli annidati con array 2DRiepilogo - Array 2DAddizione e sottrazione di matriciArray irregolariArray 3D e oltreSchemi comuni degli array 2DRiepilogo - Tutto sugli array4HashSet Parte 1
Che cos'è un HashSet?Aggiungere un elementoRimuovere un elementoVerificare se un elemento esisteVuoto e dimensioneSvuotare e clonareRipasso - HashSet7Gestione di base degli errori
Nozioni di base su try-catchBlocco finallyLancio di eccezioniEccezioni personalizzate2HashMap Parte 1
Che cos'è una HashMap?Dichiarare una HashMapAccedere ai valoriVerificare se una chiave esisteModificare i dizionariRiepilogo - HashMap3HashMap Parte 2
Metodi di HashMapIterare con keySet()Iterare con entrySet()HashMap annidateRiepilogo - Gestire il magazzinoRiepilogo - Operazioni con HashMap6Flusso di controllo avanzato
Istruzioni con etichettaEspressione switchCorrispondenza dei patternClausole guardiaRiepilogo - Flusso di controllo9Progetto - Contatore di parole uniche
Inserimento e memorizzazione del testoElaborazione delle paroleEsercitati da solo: Compilatore Java online