salve a tutti, sono nuovo nella programmazione in java e sto sbattendo per 2 giorni su un esercizio che devo inserire in input un array di oggetti di tipo Persona
Nei manuali, gli esempi di vettori di tipo oggetti sono già inizializzati nella dichiarazione, quindi ho provato ad inventarmi qualcosa per acquisire in input.
ecco il codice:
codice:
/* ------- Classe per testare il programma --------- */
package provaArray;
import java.util.*;
public class Test {
public static void main(String [] args){
String nome,cognome;
int eta;
Scanner in=new Scanner (System.in);
Persona V[]=new Persona[50];
for (int i=0;i<5;i++){
nome=in.nextLine();
cognome=in.nextLine();
eta = in.nextInt();
V[i]=new Persona(nome,cognome,eta);
}
for (int i=5;i<5;i++){
System.out.println(V[i].nome+" "+V[i].cognome+" "+V[i].eta);
}
}// fine classe Test
/* -------------Classe Persona che inizializza l'oggetto-------- */
package provaArray;
import java.util.*;
public class Persona {
public int V[];
public String nome;
public String cognome;
public int eta;
Persona(String nome, String cognome, int eta) {
this.nome=nome;
this.cognome=cognome;
this.eta=eta;
}
}// fine classe Persona
Il problema è che non mi fa inserire l'eta in input:
inserisco nome,cognome,eta al primo ciclo e ok me lo fa inserire
al secondo ciclo mi da errore.
codice:
/*
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:840)
at java.util.Scanner.next(Scanner.java:1461)
at java.util.Scanner.nextInt(Scanner.java:2091)
at java.util.Scanner.nextInt(Scanner.java:2050)
at provaArray.Test.main(Test.java:15)
Java Result: 1
*/
Perchè?
Grazie...