Come ottenere un numero intero da nextLine

July 4

Come ottenere un numero intero da nextLine


programmi Java in grado di leggere i dati esterni da fonti quali file di testo. Uso della classe scanner in combinazione con altre utility linguaggio Java, i programmi possono specificare un file per leggere i dati da, poi leggerlo una riga alla volta. Una volta che avete ogni riga all'interno del programma, è possibile determinare le informazioni circa il suo contenuto, che può contenere sia lettere che numeri. Prendendo la variabile stringa risultante da una chiamata di metodo "nextLine" e l'analisi di come un intero, il programma può recuperare i dati numerici dal file.

istruzione

1 Importare le classi di input richiesti per il programma. Nella parte superiore del file di classe Java, aggiungere le seguenti istruzioni di importazione:

import java.io. *;
import java.util.Scanner;

Dentro la classe, creare "provare" e blocchi di "catturare" come segue:

provare {
// Lettura del file processo
}
catch (IOException UIE) {System.out.println (ioe.getMessage ()); }

Inserire il codice per la lettura del file all'interno della sezione prova. Se si sta programmando in un ambiente di sviluppo integrato, può i messaggi di errore di output Quando si entra in questo codice, ma scompare quando si immette il codice di lettura di file.

2 Creare "scanner" e "oggetti FileReader per leggere il file Immettere il seguente codice all'interno del blocco try.:

FileReader FileRead = new FileReader ( "mydata.txt");
Scanner FileScan = new Scanner (FileRead);

L'oggetto Scanner prende un FileReader come parametro per il suo metodo di costruzione, con l'oggetto FileReader prendendo il nome e il percorso del file da leggere. Se si tenta di inserire questo codice senza un blocco try, i messaggi di errore in uscita IDE. Questo perché qualsiasi operazione di ingresso può essere soggetto ad errori, se il file non può essere trovato o letta da. programmi Java richiedono di racchiudere tale trattamento all'interno dei blocchi try in modo che possano far fronte a questi errori.

3 Aggiungere un ciclo "while" per il codice all'interno del blocco try per leggere le righe nel file in una struttura iterativa:

while (fileScan.hasNext ()) {
// Leggere le linee
}

Questo ciclo verrà eseguito solo se il file ha ancora i dati per lo scanner per leggere, in modo che continuerà fino a quando tutti i dati sono stati letti. All'interno del ciclo, il vostro scanner in grado di leggere ogni riga del file uno alla volta.

4 Utilizzare lo scanner per leggere una riga dal file. Aggiungere il seguente codice all'interno del ciclo while:

String = theline fileScan.nextLine ();

Lo scanner fornisce una serie di metodi per leggere dal file, tra cui "nextLine" in cui si legge una intera riga di testo. Una volta che questa linea viene eseguito, la variabile String ha una copia della linea di lettura dal file.

5 Analizza la linea come un intero. Aggiungere il seguente codice all'interno del ciclo while:

int theInt = Integer.parseInt (theline);

Questo codice tenta di analizzare l'intera linea come un intero. Se il processo va a buon fine, la variabile intera tipo primitivo sarà memorizzare il numero per ulteriori elaborazioni. Se le righe nel file contengono più di un intero ciascuno, è necessario dividere ogni riga prima di chiamare il metodo "parseInt".

Consigli e avvertenze

  • Se il file contiene solo valori interi, è possibile utilizzare il metodo "nextInt" invece di "nextLine" per leggere i numeri.
  • I programmi con operazioni di ingresso può essere imprevedibile, quindi il test è essenziale.