IntelliJ com buffer no Scanner.nextLine()

Saudações,

Resolvi brincar um pouco com o Java para relembrar de sua sintaxe e poder voltar a estudar a linguagem. Instalei Intellij IDEA pelo AUR e abri projeto simples para refrescar a memória.

Entretanto, um dos meus códigos estava apresentando um comportamento estranho do Scanner.nextLine(). Simplificarei com o seguinte código:

public static void main(String[] argv) {
        ArrayList<String> myList = new ArrayList<>();
        Scanner scanner = new Scanner(System.in);

        myList.add(scanner.nextLine());
        myList.add(scanner.nextLine());
        myList.add(scanner.nextLine());
        myList.add(scanner.nextLine());

        myList.forEach(s -> System.out.print((s)));
    }

Basicamente, estou lendo o input do teclado 4x e adicionando a uma lista, no fim, eu imprimo a lista sem quebra de linha.

Se eu digitar no input:

a
b
c
d

É para o meu output ser:

abcd

Entretanto, dando input pelo IntelliJ, eu tenho como saída apenas:

ab
image
(note que eu apenas conseguir digitar de input “a”, “b” e “c”, eu não consegui digitar o “d”)

Se eu rodo o código pelo terminal ou mesmo pelo site onlinegdb eu obtenho o output correto (que é o “abcd”).

Seria isso um problema de configuração do IntelliJ? Pesquisei sobre e não consegui encontrar algo sobre.

Pra que? Instala a toolbox e baixe por lá, muito mais jogo.

Você está usando qual versão do Java/OpenJDK? E qual versão do IntelliJ (Community, Edu ou Ultimate)?

Eu não fazia ideia que existia essa toolbox. Gostei dessa toolbox, irei instalar.

Estou utilizando OpenJDK V 11.0.15. Meu IntelliJ é Community Edition Build 2022.1.1

1 curtida