I want to know what's happening here.
With this code works perfectly
import java.util.*;
public class PruebaPersona {
public static void main(String[] args) {
    // TODO Auto-generated method stub
    Scanner entrada= new Scanner(System.in);
    String nombre, dni;
    int edad;
    char sexo;
    double peso, altura;
    System.out.println("¿Cuál es tu nombre?");
    nombre = entrada.nextLine();
    System.out.println("¿Cuál es tu DNI?");
    dni= entrada.nextLine();
    System.out.println("¿Cuántos años tienes?");
    edad = entrada.nextInt();
    System.out.println("¿Cuál es tu sexo?(Introduce H/M)");
    sexo=entrada.next().charAt(0);
But if I change the order of the inputs, like this package EjerciciosPropuestos;
import java.util.*;
public class PruebaPersona {
public static void main(String[] args) {
    // TODO Auto-generated method stub
    Scanner entrada= new Scanner(System.in);
    String nombre, dni;
    int edad;
    char sexo;
    double peso, altura;
    System.out.println("¿Cuál es tu nombre?");
    nombre = entrada.nextLine();
    System.out.println("¿Cuántos años tienes?");
    edad = entrada.nextInt();
    System.out.println("¿Cuál es tu DNI?");
    dni= entrada.nextLine();
    System.out.println("¿Cuál es tu sexo?(Introduce H/M)");
    sexo=entrada.next().charAt(0);
The program jump automatically. The output is ¿Cuál es tu DNI? and whitout wait an input ¿Cuál es tu sexo?(Introduce H/M)
