java problema con metodo aiuto

Pubblicità

franco7scala

Utente Attivo
Messaggi
40
Reazioni
0
Punteggio
26
ciao a tutti sto facendo un programma in java in grado di decodificare un codice criptato con una chiave seguendo il cifrario di cesare. adesso sto facendo un metodo in grado di leggere le vocali, ma textpad mi da sempre errore.
mi dite gentilmente dove sta l'errore?
public class Cifrario{
public static int contaVocali(String cod){
int dim = cod.length;
int cnt = 0;
for (int i = 0 ; i < dim ; i++){
char c = cod (i);
if(c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U' )
cnt++;
}
return cnt;
}
}
textpad mi fa errore sull'assegnazione di dim a cod.length.

grazie
 
Occhio che in Java una stringa non è semplicemente un vettore di caratteri, come in C ad esempio, bensì un oggetto della classe String; dunque per manipolarla, hai bisogno di utilizzare i metodi pubblici di tale classe.

In particolare, la lunghezza della stringa non si ottiene accedendo all'attributo length come negli array, bensì richiamando il metodo length (occorrono dunque le parentesi), in questo modo:

Codice:
int dim = cod.length();

Per ottenere il carattere in una data posizione, invece, occorre invocare il metodo charAt, nel seguente modo:

Codice:
char c = cod.charAt(i);

Spero di esserti stato d'aiuto :)
 
Pubblicità
Pubblicità
Indietro
Top