Java - Bucle do..while salta instruccion.

 
Vista:
Imágen de perfil de Javier
Val: 115
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Bucle do..while salta instruccion.

Publicado por Javier (54 intervenciones) el 11/05/2016 20:12:44
Hola a todos, la verdad que lo que me pasa no se muy bien el porqué pero creo un bucle do... while y el primer do me imprime por consola sin problemas pero al verificar el while que es verdadero y a la hora de repetir las sentencias dentro del do, me salta un System.out.println. El código es el siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import java.util.Scanner;
 
class PruebaBucle{
    public static void main(String[] args) {
        Scanner miScanner = new Scanner(System.in);
        String descripcion;
        double precio;
        int unidades;
        String respuesta;
 
        System.out.println("Pedidos");
 
        do{
 
            System.out.println("Introduce la descripcion del producto");
            descripcion = miScanner.nextLine();
 
            System.out.println("Introduce el precio del producto");
            precio = miScanner.nextDouble();
 
            System.out.println("Introduce las unidades");
            unidades = miScanner.nextInt();
 
            System.out.println("Desea continuar?:");
            respuesta  = miScanner.next();
 
        }while(respuesta!="n");
    }
}

Se trata de un bucle que pide la descripcion de un producto, la indico y pide el precio producto y luego las unidades, por último me pide si deseo continuar. Si pulso cualquier tecla distinto a 'n' el bucle se detendrá y terminará el programa, pero si pulso cualquier otra tecla el bucle continuará, pero en mi caso se salta la línea "Introduce la descripción del producto" y me aparece directamente el mensaje "Introduce el precio del producto".
Adjunto captura con el resultado.
Sé que tiene que ser algún fallo "tonto" que no consigo ver por mi poca experiencia programando. Muchas gracias
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
Imágen de perfil de Carlos Grimaldo
Val: 75
Ha aumentado 1 puesto en Java (en relación al último mes)
Gráfica de Java

Bucle do..while salta instruccion.

Publicado por Carlos Grimaldo (31 intervenciones) el 11/05/2016 23:40:40
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
do{
 
	System.out.println("Introduce la descripcion del producto");
 
	descripcion = miScanner.nextLine();
 
	System.out.println("Introduce el precio del producto");
	precio = miScanner.nextDouble();
 
	System.out.println("Introduce las unidades");
	unidades = miScanner.nextInt();
 
	System.out.println("Desea continuar?:");
	respuesta  = miScanner.next();
	miScanner.nextLine(); //////AGREGAR ESTA SENTENCIA AQUI Y LISTO
}while(respuesta!="n");
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Javier
Val: 115
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Bucle do..while salta instruccion.

Publicado por Javier (54 intervenciones) el 11/05/2016 23:48:58
Muchas gracias por la rápida respuesta. Justo lo había conseguido yo de una manera distinta a la suya. He puesto en vez de descripcion = miScanner.nextLine(); descripcion = miScanner.next(); y también me ha funcionado. Aunque voy a utilizar la manera que me has dicho tu ya que nextLine me viene ya que leen toda la línea y no hasta que encuentra un espacio.
Gracias por su ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar