Java - Problema con Scanner

 
Vista:
sin imagen de perfil

Problema con Scanner

Publicado por mario (1 intervención) el 09/09/2017 16:45:45
Hola buenas tengo un problema y es que quiero introducir datos de dos personas y para introducir los datos uso el scanner y visualizo lo que he metido pero hay un problema y es que cuando voy a empezar a introducir la segunda persona con el scanner no me deja escribir nada en la consola. Este es mi codiho

Clase Persona:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class Persona {
	private String nombre;
	private int edad;
	private double altura;
 
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	public int getEdad() {
		return edad;
	}
	public void setEdad(int edad) {
		this.edad = edad;
	}
	public double getAltura() {
		return altura;
	}
	public void setAltura(double altura) {
		this.altura = altura;
	}

Class Ejemplo
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
30
31
32
33
34
35
36
37
38
39
40
41
42
import java.util.Scanner;
 
public class Ejemplo
{
	public static void main(String[] args)
	{
 
 
		 Scanner entrada=new Scanner(System.in);
		Persona miPersona = new Persona();
 
 
		String nombre;
		int edad;
		double altura;
 
 
		System.out.println("Nombre de la persona: ");
		nombre =  entrada.nextLine();
		miPersona.setNombre(nombre);
 
		System.out.println("Edad de la Persona:");
		edad = entrada.nextInt();
		miPersona.setEdad(edad);
 
 
		System.out.println("Introduzca su Altura:");
		altura = entrada.nextDouble();
		miPersona.setAltura(altura);
 
		System.out.println("Su nombre es: "+ miPersona.getNombre()+" su edad es: "+miPersona.getEdad()+
				" su altura es: "+miPersona.getAltura());
 
 
		Persona miPersona2 = new Persona();
 
 
		System.out.println("Introduzca nombre:");
		nombre = entrada.nextLine();
		miPersona2.setNombre(nombre);
	}
}


Capturaonm
Asi es como me sale pero cuando voy a empezar a introducir la segunda persona no me deja escribir nada en la consola
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
sin imagen de perfil
Val: 144
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Problema con Scanner

Publicado por Thanatos (97 intervenciones) el 09/09/2017 17:42:13
Luego de leer valores numéricos con Scanner, el carácter '\n' (que el usuario ingresa al presionar la tecla enter) se queda almacenado en el buffer. Cuando esto sucede, la siguiente vez que se intenta leer un dato, Scanner consume ese carácter (como si la tecla enter hubiera sido presionada nuevamente), lo que no da tiempo al usuario para escribir la información que se le solicita.

Para limpiar el buffer, escribe esta línea luego de leer la altura:

1
entrada.nextLine();
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