java problema con metodo aiuto

franco7scala

Utente Attivo
40
0
CPU
intel core 2 duo t7500
HDD
300gb
RAM
4gb
Audio
5.1
OS
windows linux e macosx
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
 

Mr Storm

Utente Attivo
77
19
CPU
Intel Core i5 750
Scheda Madre
Asus P7P55D Deluxe
HDD
500 GB
RAM
Corsair 8GB DDR3 1600 MHz
GPU
Sapphire HD5850
Monitor
Asus VK222H 22"
PSU
OCZ ModXstream Pro 700W
OS
Windows 7 Professional x64
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 :)
 
  • Mi piace
Reazioni: franco7scala

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!