• Problema con if en JAVA

 #334267  por MichBukana
 17 Nov 2011, 17:24
Hola foro este es mi segundo problema que tengo con un if dentro de un for es la parte de if(p==i[q]){....}
y es que puse un print System.out.println(p+" "+i[q]); y se ve claramente como en uno de los casos llega a se
o o y aun asi no entra y escribe es vocal.

gracias de antemano
Salu2!
 #334281  por animedj
 17 Nov 2011, 18:12
Cuando comparas objectos (String) tienes que usar el metodo equals
Código: Seleccionar todo
                System.out.println( p + " " + i[q] );
                if ( p.equals( i[q] ) )
                {
                    System.out.println( "es vocal" );
                }
 #334295  por MichBukana
 17 Nov 2011, 19:03
Oye gracias me estaba comiendo el coco ejeje no le veia explicacion si i era igual a i xD

Salu2!
 #334584  por adwind
 18 Nov 2011, 14:57
Con este codigo no usas 2 for ya que puedes evaluar cada caracter con el metodo charAt() que trae la clase String.

Saludos.

[syntax="java"]
public class Vocal{

public static void main(){
String texto="Pepo";


for(int i=0; i<testo.length(); i++){
switch(texto.charAt(i)){
case 'A':
case 'a':
case 'E':
case 'e':
case 'I':
case 'i':
case 'O':
case 'o':
case 'U':
case 'u':System.out.println("Es vocal");break;


}


}


}


}




[/syntax]
 #334895  por davidad
 19 Nov 2011, 11:29
Código: Seleccionar todo
public class Vocal{

public static void main(){
String texto="Esto es una cadena muy larga que queremos saber sus vocales";
String textoMayus= texto.toUpperCase;

for(int i=0; i<texto.length(); i++){
switch(texto.charAt(i)){
case 'A':
case 'E':
case 'I':
case 'O':
case 'U':
System.out.println("Es vocal");
break;


}


}


}


}