Sì sì, questo è giusto. Rimarcavo solo la questione, non era una segnalazione di errore.Originariamente inviato da 44danni
non è giusto come ho già scritto?
codice:if (a.length()==b.length())
No, nella istruzione del for non ti serve lavorare con un carattere ... ma con un indice!!Originariamente inviato da 44danni
ma pare che non entri all'interno. Per decrementare l'indice della seconda stringa ho bisogno di una variabile di appoggio?codice:for (char ct = a.charAt(0); ct<=a.length(); ct++ )
Non riesco a raccapezzarmi.
Quindi inizia a fare un ciclo for in cui hai un indice int che parte da 0 e con condizione "finché è minore della lunghezza" (di a o di b è appunto lo stesso).
Poi puoi decidere:
a) Nella espressione di inizializzazione del for dichiarare due indici (un altro in più oltre a quanto indicato sopra) che parte dal fondo e nella espressione di update incrementare uno e decrementare l'altro.
oppure
b) Lasciare come ho detto sopra e nel ciclo dedurre l'altro da lunghezza-indice-1. Se vuoi usare una variabile di appoggio va bene ma in teoria non servirebbe.
Quindi nel corpo del ciclo confronti un carattere di a con un carattere di b usando i due indici. Se i caratteri sono diversi, sai già che una stringa non è il contrario dell'altra. Ma se sono uguali, non sai ancora nulla, non puoi stampare alcun messaggio e devi andare avanti.
Solo a fine ciclo, quando avrai verificato che tutti i caratteri sono uguali (in senso contrario all'altro) allora sai che sono il contrario.