Come assicurarsi un ingresso è un numero in Java

May 10

Come assicurarsi un ingresso è un numero in Java


Quando si scrive programmi Java ci sono inevitabilmente momenti in cui si ha a che fare con l'ingresso di avere poche informazioni. Se si dispone di ingresso passa nel vostro programma o in un metodo all'interno di esso ed è necessario assicurarsi che si tratta di un numero che si può usare metodi delle classi wrapper numerici. Queste classi forniscono metodi per analizzare le stringhe come tipi di numero che gettano eccezioni se l'ingresso passato non è numerico. Utilizzando questi metodi in combinazione con try e catch blocchi si può lavorare fuori che tipo di valore di ingresso si sta trattando.

istruzione

1 Acquisire un riferimento al valore di ingresso che si desidera controllare. A seconda del programma che si può già avere l'ingresso memorizzato come una variabile. Il codice di esempio seguente crea una variabile stringa di esempio per dimostrare la tecnica:
Ingresso String = "9";

Questa variabile memorizza il numero nove come una stringa. I metodi per l'analisi di tipi di numero prendono parametri di stringa quindi se il vostro ingresso non è attualmente memorizzato come una stringa creare una stringa di includerlo come nel seguente esempio:
int myNumber = 6;
Ingresso String = "" + myNumber;

2 Creare un blocco di codice try per il processo di analisi numero. Inserire il seguente schema di un blocco try:
provare {
// Analizzare qui
}

All'interno di questo blocco è possibile inserire il codice per analizzare il vostro input. Se si sta programmando in un ambiente di sviluppo integrato è necessario includere un blocco try o il processo numero di analisi impedirà il programma da compilare. Il blocco try è un modo di salvaguardare la vostra applicazione contro eccezioni formato numerico.

3 Aggiungere un blocco catch al codice. Se il codice all'interno del blocco try non un'eccezione formato numerico, l'elaborazione salterà immediatamente al blocco catch. Aggiungere un commento dopo il tuo blocco try si chiude nel modo seguente:
catch (NFE NumberFormatException)
{System.out.println ( "Non è un numero:" + nfe.getMessage ()); }

Se l'ingresso non è un numero contenuto di questo blocco verrà eseguito. Al momento contiene una dichiarazione di uscita semplice alla console, ma è possibile aggiungere la tua elaborazione all'interno del blocco.

4 Tentativo di analizzare l'input come un numero. Le classi di numero di involucro consentono di analizzare le stringhe come diversi tipi numerici compresi i numeri interi, a doppia precisione, a breve, i numeri in virgola lunghe e fluttuanti. Scegliere quale classe adatta al vostro programma e inseriscilo all'interno del blocco try. Il codice di esempio riportato di seguito illustra la tecnica per gli interi:
int InputNum = Integer.parseInt (ingresso);
System.out.println ( "è un numero:" + InputNum);

Se l'ingresso è un numero la seconda linea eseguirà e il codice ignorerà il blocco catch. Se l'ingresso non è un numero di riga dopo il tentativo di analisi non eseguirà l'elaborazione si sposta immediatamente al blocco catch.

5 Salvare i file Java, compilare ed eseguire il programma. Testarla modificando il valore della variabile di ingresso originale come il seguente codice di esempio:
Ingresso String = "p";

Questo farà sì che il programma di un'eccezione e il contenuto del blocco catch eseguirà. All'interno del blocco try inserire il codice che si desidera eseguire quando l'ingresso è un numero. All'interno del blocco catch inserire il codice che si desidera eseguire, se non lo è.

Consigli e avvertenze

  • Se si vuole rilevare qualsiasi tipo di numero è possibile utilizzare più operazioni di analisi uno per ogni classe wrapper.
  • Se non siete sicuri di inserimento dei dati all'interno del programma sarà necessario testarlo estensivamente.