Ciao,
Vi scrivo perchè non so' come gestire una stringa con uno spazio, mi spiego meglio, nella classe sottostante, mi si chiede di effettuare una serie di verifiche su stringhe passate in input, la classe funziona bene se non per la condizione del 5 if, dove mi si chiede di verificare la risposta "perchè no?", in questo caso quando passo la stringa in input, non mi viene riconisciuta e quindi mi ritorna "Dato non corretto", ho pensato che forse il motivo può essere dovuto alla spazio tra "perchè" e "no?", forse dovrei gestirlo in modo diverso questo if, ma il punto è che la commessa mi chiede di non fare distinzione tra lettere maiuscole e minuscole, quindi devo usare per forza il metodo equalsIgnoreCase(). allego la classe.
Grazie a chiunque riesce a darmi una risposta.
/** Scrivere una classe che stampi la domanda "Vuoi continuare?" e che attenda dati dall'utente
*Se l'utente immette "s","si","ok","certo" o "perché no?", stampi "OK".
*Se l'utente immette "no" o "n", stampi "Fine".
*In tutti gli altri casi, stampi "Dato non corretto".
*Non considerare la differenza tra maiuscole o minuscole.
* @author Lory
*
*/
public class Domanda
{
/** Creo il costruttore
*
* @param InserisciLaDomanda
*/
public Domanda(String InserisciLaDomanda)
{
domanda = InserisciLaDomanda;
}
/** predispongo il metodo che gestirà le risposte
*
* @return
*/
public String getCheker()
{
if(domanda.equalsIgnoreCase("s"))
System.out.println("OK");
else
if(domanda.equalsIgnoreCase("si"))
System.out.println("OK");
else
if(domanda.equalsIgnoreCase("ok"))
System.out.println("OK");
else
if(domanda.equalsIgnoreCase("Certo"))
System.out.println("OK");
else
if(domanda.equalsIgnoreCase("perchè no?"))
System.out.println("OK");
else
if(domanda.equalsIgnoreCase("n"))
System.out.println("Fine");
else
if(domanda.equalsIgnoreCase("no"))
System.out.println("Fine");
else
System.out.println("Dato non corretto");
return "";
}
/** assegno la variabile d'istanza
*
*/
private String domanda;
}