ciao ragazzi!è la prima volta che scrivo su questo forum mi servirebbe un aiutino in java...in sostanza la semantica del metodo dovrebbe essere quella di accettare input da tstiera formati solo da caratteri dell'alfabeto in quanto dovrebbero andare a costituire un nome
vi posto qui 3 prototipi di codice,il primo è quello che mi soddisfa di + anche se cmq tutte e tre hanno dei problemi...
1) public String inserisciNome(){
InputStreamReader lettore=new InputStreamReader(System.in);
BufferedReader input=new BufferedReader(lettore);
try { String nome = new String(input.readLine());
try{
int lunghezza = nome.length();
char[] ac = new char [lunghezza];
nome.getChars(0,lunghezza,ac,0);
int i = 0;boolean avanti=true;
for (i=0;i<lunghezza;i++){ while(avanti){if ( ac[i]=='a'||ac[i]=='b'\\fino a z\\
) {System.out.println("Carattere ok"); avanti=false;}
else {System.out.println("Caratteri non ok"); avanti=true;}}
}
prototipo 2)(la faccio per il cognome ma considerate come se la facessi per il nome)
public String inserisciNome(){
boolean avanti = true;
System.out.println("Scrivi il nome della persona che intendi inserire in Rubrica ");
InputStreamReader lettore=new InputStreamReader(System.in);
BufferedReader input=new BufferedReader(lettore);
Scanner g = new Scanner(input);
avanti = g.hasNext("0 1 2 3 4 5 6 7 8 9 ");
while(avanti){System.out.println("Solo caratteri");
Scanner f = new Scanner(input);
avanti = f.hasNext("0 1 2 3 4 5 6 7 8 9 ");
}
String nome = new String(g.toString());
return nome;
} public String inserisciCognome(){
boolean avanti = true;
System.out.println("Scrivi il cognome della persona che intendi inserire in Rubrica ");
InputStreamReader lettore=new InputStreamReader(System.in);
BufferedReader input=new BufferedReader(lettore);
Scanner g = new Scanner(input);
avanti = g.hasNextInt();
while(avanti){System.out.println("errore,riprova") ;
Scanner f = new Scanner(System.in);
avanti = f.hasNextInt();
}
System.out.println("va bene");
String cognome= new String();
try{
cognome=input.readLine();
}catch(IOException e) {
System.out.println("Si è verificato un errore :" +e);
System.exit(-1);
}
return cognome;
}
e tre)



