Menu
Coddy logo textTech

Try come espressione

Fa parte della sezione Logica e flusso del percorso Kotlin di Coddy. Lezione 53 di 63.

Un blocco try/catch può produrre un valore: l’ultima espressione del blocco try completato o del blocco catch corrispondente è il suo risultato. Un blocco finally viene eseguito successivamente per la pulizia, ma la sua ultima espressione non sostituisce quel valore. Mantieni la pulizia separata dal calcolo.

All'interno di main:

val value = try { "bad".toInt() } catch (error: NumberFormatException) { -1 }
println(value)

Il catch corrispondente fornisce meno uno come risultato dell'espressione.

Un'espressione try prende il suo valore dal ramo try o catch completato.

challenge icon

Sfida

Medio

Completa parsedDouble con il parametro text: String. Usa un'espressione try per analizzare text come Int e raddoppiarlo. Cattura NumberFormatException e usa -1. Gli input analizzati correttamente sono compresi tra -1000 e 1000; possono comparire anche stringhe non valide e fuori intervallo. Non rimuovere gli spazi.

Salvo indicazioni più restrittive riportate sopra, le raccolte contengono al massimo 100 elementi a ogni livello e gli argomenti interi e i valori interi delle raccolte sono compresi tra -1000 e 1000. Il testo fornito per l'analisi può includere rappresentazioni non valide o fuori intervallo, come descritto.

Restituisci un valore di tipo Int. Mantieni il codice di input/output fornito. Legge gli argomenti scalari uno per riga; una lista inizia con il suo numero di elementi, seguito dai suoi elementi, mentre una mappa inizia con il numero delle sue voci, seguito da ciascuna chiave e dal relativo valore. Le liste annidate ripetono il formato numero di elementi ed elementi per ogni riga. Il main fornito stampa il valore restituito seguito da un'interruzione di riga. Le liste usano il formato standard di Kotlin con parentesi quadre; non stampare etichette aggiuntive.

Provalo tu

fun parsedDouble(text: String): Int {
    // Scrivi qui la tua soluzione.
    return 0
}
fun main() {
    val text = readLine().orEmpty()
    println(parsedDouble(text))
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Playground Kotlin