Comparar los caracteres de un arreglo
Holas, estoy haciendo un programa que me permita contar las vocales dentro de un arreglo y contarlas.Lo estoy haciendo por medio del metodo charAt.Pero no me esta entregando ningun resultado, alguien me puede ayudar pliss.
f (arreglo1[i].charAt(i) == 'a')
{
contv=contv++;
}
else
if (arreglo1[i].charAt(i)=='e')
{
contv=contv++;
}
else
if (arreglo1[i].charAt(i) == 'i')
{
contv=contv++;
}
System.out.print(" Cantidad es : " +contv);
Que es lo que hay mal, y como poder corregirlo
f (arreglo1[i].charAt(i) == 'a')
{
contv=contv++;
}
else
if (arreglo1[i].charAt(i)=='e')
{
contv=contv++;
}
else
if (arreglo1[i].charAt(i) == 'i')
{
contv=contv++;
}
System.out.print(" Cantidad es : " +contv);
Que es lo que hay mal, y como poder corregirlo
tienes mal el contador hay dos formas de implementarlo:
1.- contv = contv + 1;
2.- contv++;
pero no como ahi lo haces. Saludos.
1.- contv = contv + 1;
2.- contv++;
pero no como ahi lo haces. Saludos.
Cuando tengas que comparar un conjunto reducido de enteros, o caracteres, puedes usar un switch, que será más claro y eficiente que los bloques if-else:
int nroVocales=0;
for(char caracter:arreglo1){
switch(caracter){
case 'a': case 'A':
case 'e': case `E`:
case 'i': case `I`:
case 'o': case 'O':
case 'u': case 'U':
nroVocales++;
break;
}
}
System.out.println("numero de vocales: "+nroVocales);
Espero que te sirva.
int nroVocales=0;
for(char caracter:arreglo1){
switch(caracter){
case 'a': case 'A':
case 'e': case `E`:
case 'i': case `I`:
case 'o': case 'O':
case 'u': case 'U':
nroVocales++;
break;
}
}
System.out.println("numero de vocales: "+nroVocales);
Espero que te sirva.