Il programma funziona, e in base a nickname, sesso e età dice se i due soggetti inseriti sono affini (compito università). Per la prima persona inserita va tutto bene, ma per la seconda c'è un problema: quando al termine dell'inserimento dell'età della prima persona premo INVIO per terminare l'inserimento succede questo:
INSERISCI LA TUA ETA': 20
Inserisci ora il secondo soggetto:
INSERISCI IL TUO NICKNAME: MASCHIO O FEMMINA? (M/F):
In pratica non posso inserire il nickname... ho pensato fosse un problema che nel buffer della tastiera ci fosse ancora memorizzato l'INVIO, ma ho messo anche il metodo reset e non è cambiato nulla... cosa potrebbe essere? di seguito la classe che contiene il metodo per creare una persona e il main
import java.util.Scanner;
public class Persona {
String nick, sesso;
int età;
public Persona (String _nick, String _sesso, int _età)
{
nick=_nick;
sesso=_sesso;
età=_età;
}
public boolean affini(Persona persona2)
{
boolean affini=false; //bisogna inizializzarla x forza...
if((this.età-persona2.età<3)&&(this.sesso!=persona2.sesso)) affini=true;
if(affini==true) System.out.println("I due soggetti sono affini");
else System.out.println("Non sono affini!!");
return affini;
}
public static Persona creaPersona (Scanner lettore)
{
String nick, sesso;
int età;
//Scanner lettore= new Scanner (System.in);
System.out.print (" INSERISCI IL TUO NICKNAME: ");
nick=lettore.nextLine();
System.out.print (" MASCHIO O FEMMINA? (M/F): ");
sesso=lettore.nextLine();
System.out.print (" INSERISCI LA TUA ETA': ");
età=lettore.nextInt();
lettore.reset(); //ripulisce il buffer del lettore
return new Persona (nick, sesso, età);
}
import java.util.*;
public class Main
{
static String Piera, F;
public static void main(String[] args)
{
System.out.println ("Ciao!"); //saluto
Scanner lettore= new Scanner(System.in);
Persona personaggio1=Persona.creaPersona(lettore);
System.out.println ("Inserisci ora il secondo soggetto:\n");
Persona personaggio2=Persona.creaPersona(lettore); // è questo crea persona che non vaaaa!!!!
personaggio1.affini(personaggio2);
}
}
Grazie mille