Scanner pula nextLine() após nextInt() ou nextDouble(): como corrigir?
Olá a todos! Sou novo em Java e me deparei com um problema muito estranho ao trabalhar com o Scanner. Estou escrevendo um programa simples para entrada de dados do usuário: primeiro um número (idade), depois uma string (nome). Aqui está meu código:
```java
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Digite a idade: ");
int age = scanner.nextInt();
System.out.print("Digite o nome: ");
String name = scanner.nextLine();
System.out.println("Idade: " + age + ", Nome: " + name);
}
}
```
Quando executo, após digitar a idade, o programa imprime imediatamente "Digite o nome: " e exibe o resultado, sem permitir que eu digite o nome. Ou seja, a variável name fica vazia ou contém uma quebra de linha. Tentei mudar a ordem — primeiro nextLine(), depois nextInt() — e então funciona. Mas preciso exatamente primeiro o número, depois a string. Qual é o problema? Por que o Scanner pula o nextLine()?
No answers yet.
Faça login para deixar uma resposta
Blogs
Logging em aplicações Rust: melhores práticas e ferramentas
Testes de Integração C# com Docker: Técnicas Avançadas
ChatGPT API em Java: como adicionar IA ao seu projeto
DSL em TypeScript: criando sua própria linguagem de programação em uma noite