Erro basico em um codigo

Quando vou digitar " Seu Nome " ele só aceita 1 palavra,e se eu por “teclado.nextLine” ele pula a linha de comando,alguem sabe como resolver? sou iniciante.

package exercicioout;
//Importar o leitor de teclado
import java.util.Scanner;

public class ExercicioOut {
public static void main(String[] args) {

    // Começar a ler o teclado
    Scanner teclado = new Scanner(System.in);
    
    //Digite o nome e idade das 3 pessoas
    System.out.println("Escreva o nome e idade das 3 pessoas");
    //Nome da 1 pessoa
    System.out.println("Nome da 1 pessoa: ");
    // Nome do usuario irá ser digitado
    String Nome1;
    Nome1 = teclado.next();
    //Digitar a idade do Usuario
    System.out.println("\nDigite a idade dele(a)");
    //Idade do Usuario
    int Idade1;
            Idade1=teclado.nextInt();
    
    
   System.out.println("\nO nome do Usuario é " + Nome1 + " e ele tem : " + Idade1 + " anos de idade");
    
    //Proximo usuario
    System.out.println("\nEscreva o nome do proximo usuario");
    //Nome da 2 pessoa
    System.out.println("Nome da 2 pessoa:\n ");
    // Nome do usuario irá ser digitado
    String Nome2 ;
            Nome2 = teclado.next();   
    //Digitar a idade do Usuario
    System.out.println("Digite a idade dele(a)");
    //Idade do Usuario
    int Idade2 ;
            Idade2= teclado.nextInt();
    
    System.out.println("O nome do Usuario é " + Nome2 + " e ele tem : " + Idade2 + " anos de idade\n");
    
     
    //Proximo Usuario
    System.out.println("Nome da 3 pessoa:\n ");
    // Nome do usuario irá ser digitado
    String Nome3 ;
            Nome3= teclado.next();
    //Digitar a idade do Usuario
    System.out.println("Digite a idade dele(a)");
    //Idade do Usuario
    int Idade3 ;
            Idade3= teclado.nextInt();
    
    System.out.println("O nome do Usuario é " + Nome3 + " e ele tem : " + Idade3 + " anos de idade");
  
    System.out.println("A Idade e nome dos usuarios são\n");
    
    System.out.println("Os usuarios são: " + "\n" + Nome1 + "\n" + Nome2 + "\n" + Nome3 + "\n");
    System.out.println("E suas idades respectivamente são:" + "\n" + Idade1 + "\n" + Idade2 + "\n" + Idade3 + "\n");
    
    if (Idade1 > Idade2) 
        System.out.println(Nome1 + " é o(a) mais velha(o)");
    else 
        if (Idade2 > Idade1) {
            System.out.println(Nome2 + " é o(a) mais velha(o)");
    } else {
           
            System.out.println(Nome3 + " é o(a) mais velha(o)");
    }
    
    
 
    
    
    
    
    
}

}

tenta ler.nextLine();

import java.io.PrintStream;
import java.util.Scanner;

public class ExercicioOut {

    public static void main(String[] args) {

        // Começar a ler o teclado
        Scanner entrada = new Scanner(System.in);
        PrintStream saida = System.out;

        // Digite o nome e idade das 3 pessoas
        saida.println("Escreva o nome e idade das 3 pessoas");

        // Nome da 1 pessoa
        saida.print("Nome da 1 pessoa: ");
        // Nome do usuario irá ser digitado
        String nome1 = entrada.nextLine();
        // Digitar a idade do Usuario
        saida.print("Digite a idade dele(a): ");
        // Idade do Usuario
        int idade1 = Integer.parseInt(entrada.nextLine());
        saida.println("O nome do Usuario é " + nome1 + " e ele tem : " + idade1 + " anos de idade");

        // Proximo usuario
        saida.println("Escreva o nome do proximo usuario");

        // Nome da 2 pessoa
        saida.print("Nome da 2 pessoa: ");
        // Nome do usuario irá ser digitado
        String nome2 = entrada.nextLine();
        // Digitar a idade do Usuario
        saida.print("Digite a idade dele(a): ");
        // Idade do Usuario
        int idade2 = Integer.parseInt(entrada.nextLine());
        saida.println("O nome do Usuario é " + nome2 + " e ele tem : " + idade2 + " anos de idade");

        // Proximo Usuario
        saida.print("Nome da 3 pessoa: ");
        // Nome do usuario irá ser digitado
        String nome3 = entrada.nextLine();
        // Digitar a idade do Usuario
        saida.print("Digite a idade dele(a): ");
        // Idade do Usuario
        int idade3 = entrada.nextInt();
        saida.println("O nome do Usuario é " + nome3 + " e ele tem : " + idade3 + " anos de idade");

        saida.println("Os usuarios são: \n" + nome1 + "\n" + nome2 + "\n" + nome3);
        saida.println("E suas idades respectivamente são:\n" + idade1 + "\n" + idade2 + "\n" + idade3);

        String nomeMaisVelho = nome1;
        int idadeMaisVelho = idade1;
        if (idade1 < idade2) {
            nomeMaisVelho = nome2;
            idadeMaisVelho = idade2;
        }
        if (idadeMaisVelho < idade3) {
            nomeMaisVelho = nome3;
            idadeMaisVelho = idade3;
        }
        saida.println(nomeMaisVelho + " é o(a) mais velha(o)");
        entrada.close();
        System.exit(0);
    }
}

foi resolvido? nextLine() deveria resolver o problema.

O teclado.nextLine(); ele está pulando,não está aparecendo pra digitar

alguns comandos dão invalidos aqui,tipo
saida.println
entrada.close

Qual o erro?