Questo metodo dovrebbe leggere un char da tastiera e controllare se questo char è ammissibile, cioè se è uguale a uno di certi altri char ricevute dal metodo come array di char. Il problema che mi ritrovo è che se l'utente non inserisce un solo carattere ma una stringa che però ha come lettera iniziale un carattere ammissibile, il metodo me lo accetta comunque. Come fare a risolvere questo problema?codice:public static char leggiSceltaChar (String messaggio, char...ammissibile) { boolean finito=false; char valoreLetto = '\0'; do{ valoreLetto = leggiChar(messaggio); for(int i=0;i<ammissibile.length;i++){ char carattere=ammissibile[i]; if (valoreLetto==carattere|| valoreLetto==Character.toUpperCase(carattere)) finito=true; } if(finito==false) System.out.printf(MESSAGGIO_AMMISSIBILI); } while (!finito); return valoreLetto; }
Quando io al posto di un solo carattere inserisco una parola, questa Java come me la considera? come un unico char o come un array di char? Se lo considerasse come array potrei mettere la condizione che la sua dimensione sia 1...ma quali metodi potrei usare?Gli stessi degli array?

Rispondi quotando

hai pienamente ragione! Mi sono dimenticato di postare anche il metodo leggiChar. Comunque le tue parole mi hanno, come dire, acceso una lampadina e son riuscito a risolvere il problema
