Resolver problema quando Scanner nextLine() pula entrada do teclado

/ Nenhum comentário
Um problema que pode ser bem comum para quem está começando no java e usando a classe Scanner para capturar dados do teclado é quando, ao inserirmos o método nextLine() após métodos "irmãos" como next(), nextInt(), nextDouble(), etc... O nosso nextLine() simplesmente ignora a entrada do teclado do usuário e vai para a próxima linha de código.


Um exemplo para este caso é o código mostrado logo abaixo:

public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in );

    int inteiro;
    String string1, string2;

    System.out.println("Insira um inteiro:");
    inteiro = scanner.nextInt();

    System.out.println("Insira a String 1:");
    string1 = scanner.nextLine();

    System.out.println("Insira a String 2:");
    string2 = scanner.nextLine();
    
    //...

    scanner.close();

}

Na imagem a baixo, perceba que não foi possível atribuir um valor à variável  string1. A linha responsável por receber a entrada do teclado (linha 12) foi pulada e nada foi atribuído a variável.