Comparazione di stringhe, non funziona EqualsIgnoreCase

di il
6 risposte

Comparazione di stringhe, non funziona EqualsIgnoreCase

Ciao a tutti, è la prima volta che scrivo qui, e ho un problema incomprensibile con java, cerco di comparare due stringhe e indifferentemente dal risultato della comparazione entra nell' if, ecco il codice:


for(int j=0; j<D.GetMesi(Mese-1); j++)
{
MyButton giorno = cal.get(AnnoAttuale).GetBottone(Mese-1, j);

if(giorno.GetGiornoSettimanale().equalsIgnoreCase("Lunedì"));
{
System.out.println(giorno.GetGiornoSettimanale());
Lunedì = giorno.GetGiorno();
}
}

in pratica, va a prendere tutti i giorni del mese prima e dovrebbe controllare se è Lunedì, nel caso lo sia dovrebbe assegnare alla variabile Lunedì il valore del giorno, il numero, eppure, indifferentemente dal fatto che il giorno sia lunedì o meno entra nell' if e assegna il numero del giorno, facendo così, mi ritorno sempre l' ultimo giorno del mese..... davvero, non ho idea di dove possa essere il problema....

6 Risposte

  • Re: Comparazione di stringhe, non funziona EqualsIgnoreCase

    Cosi e' un po diffile capire gli errori, mi sembra che sia tutti classi create da te, ma visto da cosi l'errore e' nel metodo GetBottone(), puo essere che hai passato i parametri nell'ordine sbagliato??
  • Re: Comparazione di stringhe, non funziona EqualsIgnoreCase

    Cosa stampa questo?
    System.out.println(giorno.GetGiornoSettimanale());
    usa il tag code e soprattutto "Lunedi" cos'è???
  • Re: Comparazione di stringhe, non funziona EqualsIgnoreCase

    Quindi dalla riga che hai evidenziato ti entrerebbe nella if anche se ti viene stampato martedì, equalsIgnoreCase() non l'ho mai usato però equals mi ha sempre funzionato senza problemi.
    Riesci a postare piu codice? Sono molto curioso di vedere questo errore.
  • Re: Comparazione di stringhe, non funziona EqualsIgnoreCase

    Ciao a tutti,
    è il mio primo messaggio su questo forum
    Beh la risposta è abbastanza semplice:

    if(giorno.GetGiornoSettimanale().equalsIgnoreCase("Lunedì"));

    devi togliere il ';' che nel tuo caso è l'istruzione che viene eseguita se l'if è true, mentre il blocco di codice successivo (quello tra le graffe) viene eseguito sempre perchè non è quello immediatamente dopo l'if e quindi non è condizionato dall'esito dell'if stesso
  • Re: Comparazione di stringhe, non funziona EqualsIgnoreCase

    Jam3s82 ha scritto:


    Ciao a tutti,
    è il mio primo messaggio su questo forum
    Beh la risposta è abbastanza semplice:

    if(giorno.GetGiornoSettimanale().equalsIgnoreCase("Lunedì"));

    devi togliere il ';' che nel tuo caso è l'istruzione che viene eseguita se l'if è true, mentre il blocco di codice successivo (quello tra le graffe) viene eseguito sempre perchè non è quello immediatamente dopo l'if e quindi non è condizionato dall'esito dell'if stesso
    Non l'avevo minimamente visto il ';' dopo la if . Complimenti Jam3s82 , un inizio da 10 nel forum.
    ciao
  • Re: Comparazione di stringhe, non funziona EqualsIgnoreCase

    Non l'avevo minimamente visto il ';' dopo la if . Complimenti Jam3s82 , un inizio da 10 nel forum.
    ciao
    Eheh, ormai c'ho l'occhio clinico

    Grazie,
    ciao
Devi accedere o registrarti per scrivere nel forum
6 risposte