Problema di immissione dati da tastiera

di il
2 risposte

Problema di immissione dati da tastiera

Ciao a tutti! Ho un problema quando vado a eseguire questo programma che riporto semplificato


import fiji.io.*;
class Informatica {
public static void main ( String [] args ) {
int a,b,c,d; String e,f,g,h;
System.out.println("Inserisci l'autore del primo libro");
e = Lettore.in.leggiLinea();
System.out.println("Inserisci il titolo del primo libro");
f = Lettore.in.leggiLinea();
System.out.println("Inserisci il numero di pagine del primo libro");
a = Lettore.in.leggiInt();
System.out.println("Inserisci l'anno di pubblicazione del primo libro");
b = Lettore.in.leggiInt();
System.out.println("Inserisci l'autore del secondo libro");
g = Lettore.in.leggiLinea();
System.out.println("Inserisci il titolo del secondo libro");
h = Lettore.in.leggiLinea();
System.out.println("Inserisci il numero di pagine del secondo libro");
c = Lettore.in.leggiInt();
System.out.println("Inserisci l'anno di pubblicazione del secondo libro");
d = Lettore.in.leggiInt();
}
}

Il problema si presenta dopo avere inserito il valore della variabile b. Premo invio per passare al successivo, g, ma me lo salta e va direttamente a h.
Praticamente mi appare

Inserisci l'anno di pubblicazione del primo libro
1945
Inserisci l'autore del secondo libro
Inserisci il titolo del secondo libro
_

Qualcuno mi sa aiutare? Grazie in anticipo per le risposte

2 Risposte

  • Re: Problema di immissione dati da tastiera

    Ciao, è un problema molto noto: dopo aver letto l'intero rimane nel buffer un carattere di fine linea che viene immediatamente considerato alla lettura successiva. La soluzione è eseguire una readLine subito dopo un readInt per "consumare" questo carattere.
  • Re: Problema di immissione dati da tastiera

    Grazie mille per la risposta!!
Devi accedere o registrarti per scrivere nel forum
2 risposte