Salve a tutti,
sto studiando Java per un esame universitario e mi ritrovo un problema che non riesco a capire riguardo l'inserimento di input.
codice:
public class Libro{
private static long counter = 1;
private static long id;
private final String titolo;
private final Autore[] autori;
private double prezzo;
private String editore;
public Libro(){
this.id = counter++;
Scanner in = new Scanner(System.in);
System.out.println("Inserire il titolo del libro:");
this.titolo = in.nextLine();
System.out.println("Inserire il numero degli autori:");
int n = in.nextInt();
this.autori = new Autore[n];
for(int i = 0; i < n; i++){
System.out.println("Autore " + (i+1) +":");
this.autori[i] = new Autore();
}
System.out.println("Inserire la Casa Editrice:");
this.editore = in.nextLine();
System.out.println("Inserire il prezzo del libro:");
this.prezzo = in.nextDouble();
}
//....
}
//Metto per completezza la parte di interesse di della classe autore
public class Autore{
private final String nome;
private final String cognome;
public Autore(){
Scanner in = new Scanner(System.in);
System.out.println("Inserisci il nome dell' autore:");
this.nome = in.nextLine();
System.out.println("Inserisci il cognome dell'autore");
this.cognome = in.nextLine();
}
}
Appena arrivo al punto di inserire la casa editrice mi passa direttamente all'inserimento del prezzo; perch�?
Nelle soluzioni del professore mette uno scanner per ogni tipo di dato, ma non riesco a motivarmelo.
Inoltre se metto la chiusura degli scanner mi causa eccezione a run-time :/ .
Spero nel vostro aiuto e nei vostri consigli.
PS: mi scuso nel caso in cui ho fatto qualcosa che non andava fatto, poich�, anche se sono iscritto da un po', non utilizzavo pi� il forum
--
ciauz