0Pricing
Java Academy · Lezione

Analisi dei numeri dall'input

Converta il testo in numeri

Analisi dei numeri dall'input è una lezione Java Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Java Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Java Academy include 4 lezioni in totale.

Le righe sono sempre stringhe

readLine() restituisce sempre una String, anche quando l'utente digita 42. Per eseguire calcoli, deve analizzare quel testo e trasformarlo in un numero.

Java fornisce metodi di supporto come Integer.parseInt e Double.parseDouble proprio per questo scopo.

Integer.parseInt

Integer.parseInt(String) converte un testo come "42" nel valore int 42.

Una volta analizzato, può sommarlo, moltiplicarlo o confrontarlo come qualsiasi altro numero.

String text = "42";
int n = Integer.parseInt(text);
System.out.println(n + 1);

Esempio eseguibile di parsing

Ecco un programma completo ed eseguibile che analizza una stringa definita nel codice e ne raddoppia il valore.

Non legge da System.in, quindi viene eseguito immediatamente e stampa il risultato.

public class Main {
    public static void main(String[] args) {
        String text = "21";
        int n = Integer.parseInt(text);
        System.out.println("Doubled: " + (n * 2));
    }
}

Lettura e parsing

Lo schema reale è: leggere una riga e poi analizzarla. Questo programma legge un numero dalla console e ne stampa il quadrato.

Poiché attende dati da System.in, qui non può essere eseguito automaticamente, ma rappresenta lo schema utilizzato ogni giorno.

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br =
            new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        System.out.println("Square: " + (n * n));
    }
}

Utilizzi trim() prima del parsing

Gli spazi indesiderati impediscono il parsing. Integer.parseInt(" 42 ") genera un errore, mentre Integer.parseInt(" 42 ".trim()) funziona.

È una buona abitudine chiamare trim() sulla riga prima di analizzarla.

String raw = "  7  ";
int n = Integer.parseInt(raw.trim());
System.out.println(n);

Parsing dei numeri decimali

Per i numeri decimali, utilizzi Double.parseDouble. Questo metodo trasforma un testo come "3.14" in un valore double.

È disponibile anche Long.parseLong per numeri interi molto grandi, oltre l'intervallo di int.

public class Main {
    public static void main(String[] args) {
        double pi = Double.parseDouble("3.14");
        System.out.println(pi * 2);
    }
}

Più numeri su una riga

Spesso una riga contiene più numeri separati da spazi, ad esempio "10 20 30". Utilizzi split(" ") per suddividerla in un array di token String.

Analizzi quindi ogni token singolarmente.

String[] parts = "10 20 30".split(" ");
int a = Integer.parseInt(parts[0]);
int b = Integer.parseInt(parts[1]);
System.out.println(a + b);

Somma dei numeri separati

Questo programma eseguibile suddivide una riga e somma tutti i numeri all'interno di un ciclo.

La stringa è definita nel codice, quindi il programma viene eseguito senza input; per utilizzarlo con la console, sostituisca il valore con br.readLine().

public class Main {
    public static void main(String[] args) {
        String line = "5 8 2 10";
        String[] parts = line.split(" ");
        int sum = 0;
        for (String p : parts) {
            sum += Integer.parseInt(p);
        }
        System.out.println("Sum: " + sum);
    }
}

L'input non valido genera un'eccezione

Se il testo non è un numero valido, ad esempio "hello" o una stringa vuota, parseInt genera una NumberFormatException.

Può gestire questa situazione con un blocco try/catch, così il programma non si interrompe a causa di un input non valido.

try {
    int n = Integer.parseInt("hello");
} catch (NumberFormatException e) {
    System.out.println("Not a number!");
}

Il parsing sicuro in azione

Ecco un programma eseguibile che gestisce con eleganza l'input non valido invece di interrompersi.

Il blocco catch stampa un messaggio chiaro quando il testo non può essere convertito in un numero.

public class Main {
    public static void main(String[] args) {
        String input = "12x";
        try {
            int n = Integer.parseInt(input);
            System.out.println(n);
        } catch (NumberFormatException e) {
            System.out.println("Invalid number: " + input);
        }
    }
}

Checklist per il parsing

Quando trasforma l'input in numeri:

  • Utilizzi Integer.parseInt per i numeri interi e Double.parseDouble per i decimali.
  • Rimuova prima gli spazi indesiderati con trim().
  • Utilizzi split(" ") per più numeri sulla stessa riga.
  • Racchiuda l'operazione in un blocco try/catch per maggiore sicurezza.

Verifica rapida

Consideri cosa succede quando l'analisi non riesce.

Riepilogo

Ha imparato che le righe di input sono stringhe, analizzate con Integer.parseInt o Double.parseDouble. Ha usato trim() e split(" "), e ha gestito NumberFormatException per maggiore sicurezza.

Prossimo argomento: chiudere correttamente i flussi.

Domande Frequenti

La lezione «Analisi dei numeri dall'input» è gratuita?

Sì — il testo completo di «Analisi dei numeri dall'input» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Java Academy, passa a CoddyKit PRO. Il corso Java Academy include 4 lezioni in totale.

Cosa imparerò in «Analisi dei numeri dall'input»?

Converta il testo in numeri Eserciti Java Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Java Academy?

Non è richiesta alcuna esperienza precedente. Java Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Analisi dei numeri dall'input»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Java Academy?

Sì. Ogni lezione Java Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Perché BufferedReader
  2. Lettura delle righe
  3. Analisi dei numeri dall'input
  4. Chiusura sicura degli stream
← Torna a Java Academy