Java - do while y strings

   
Vista:

do while y strings

Publicado por Areshu (6 intervenciones) el 02/03/2013 19:14:41
Hola, a ver si me podéis resolver esta duda, que no se si es que hoy estoy espeso o se me ha pirado la pinza y no consigo que el siguiente código haga lo que debe:

do{
t = new Scanner(System.in);
System.out.println("Introduzca un nombre: ");
nombre=t.nextLine();
listaNomresDin.add(nombre);
do {
t = new Scanner(System.in);
System.out.println("¿Desea introducir otro nombre? s/n");
op = t.nextLine();
} while (!op.equals("s") | !op.equals("S") | !op.equals("n") | !op.equals("N"));
}while(op.equals("s") | op.equals("S"));

Me explico, estoy intentando que este bucle pida nombres para rellenar un arraylist mientras le digamos "s" o "S", es decir, hasta que digas "n" o "N".

El caso es que a la hora de la comprobación de op, (en el bucle while interno) metas lo que metas te lo sigue preguntando.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

do while y strings

Publicado por Ruben G. ruben.9070@gmail.com (1 intervención) el 21/03/2013 18:39:34
El problema que tenias es que no puedes preguntar de esta forma tanto si como no, por lo que tienes que elegir, en este caso te paso la respuesta preguntando por el NO,

espero que te sirva, un saludo!

1
2
3
4
5
6
7
do{
    System.out.println("Introduzca un nombre: ");
    sNombre=sc.nextLine();
    listaNombres.add(sNombre);
    System.out.println("¿Desea introducir otro nombre? s/n");
    sNombre=sc.nextLine();
}while (!sNombre.equals("n") && !sNombre.equals("N"));
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar