[C con Clase] Tengo una duda en java

kavi to like741 en gmail.com
Sab Abr 14 18:51:40 CEST 2012


El problema esta en el operador ==, no se debe usar si quieres comparar
cadenas como tal, en el ejemplo siguiente se muestra como usar
los métodos propios de la la clase String para las comparaciones de
cadenas, para tu codigo si cambias while(opcion=="S" || opcion=="s"); por
while(opcion.equalsIgnoreCase("s")); funcionara

                String strCadena1 = "HOLA";
String strCadena2 = ", QUE TAL?";
String strCadena3 = "hola";

if(strCadena1.equalsIgnoreCase(strCadena3)){ //Siempre devuelve que son
iguales
System.out.print("Usando equalsIgnoreCase \n");
System.out.print(strCadena1 + strCadena2);
}


if(strCadena1.equals(strCadena3)){ //Aqui sin embargo devuelve que no son
iguales
System.out.print("Usando equals");
    System.out.print(strCadena1 + strCadena2);
}

Te dejo el link al API de Java http://docs.oracle.com/javase/7/docs/api/

Un Saludo.


El 14 de abril de 2012 17:31, Miguel Angulo Martínez
<djfunk19 en hotmail.com>escribió:

>  Cuando hago que se me repita el bucle en el do }while
>
> con el String opcion;
>
> System.out.print("\n\t¿Desea seguir realizando altas?(S/N)");
> opcion=sc.nextLine();
> en el do{ while(opcion=="S");
>
> No se me repite cuando me dice quiere seguir realizando altas y le doy S.
> Que puede ser?
>
> Saludos comunidad
>
> public static void altas()
>         {
>             Scanner sc = new Scanner(System.in);
>             String nombre, telefono, direccion;
>             String opcion;
>             int edad;
>             try{
>                 TablaBaseDatos t = new TablaBaseDatos("Agenda.txt");
>                 int nR = t.dameNumeroRegistros();
>                 do{
>                     System.out.print("\n\tContacto nº "+(nR+1));
>                     System.out.print("\n\tIntroduce el nombre");
>                     nombre = sc.nextLine();
>                     System.out.print("\n\tIntroduce el telefono");
>                     telefono = sc.nextLine();
>                     System.out.print("\n\tIntroduce la direccion: ");
>                     direccion = sc.nextLine();
>                     System.out.print("\n\tIntroduce la edad: ");
>                     edad = sc.nextInt();
>                     nR++;
>                     t.escribeRegistro(nombre,telefono,direccion,edad,nR);
>                     System.out.print("\n\t¿Desea seguir realizando
> altas?(S/N)");
>                     opcion=sc.nextLine();
>                  }while(opcion=="S" || opcion=="s");
>                  t.cierraTabla();
>               }
>               catch(Exception e)
>               {
>                   System.out.println(e);
>                 }
>
>
>         }
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20120414/2634c5c4/attachment.html>


Más información sobre la lista de distribución Cconclase