Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Preciso de uma explicação.

Por que quando executo o código ele não coleta o dado da "String resposta = leitura.nextLine();" e passa direto para o dado da variável "double divisao = leitura.nextDouble();"

import java.util.Scanner;

public class TesteScanner {
    public static void main(String[] args) {
        Scanner leitura = new Scanner(System.in);

        System.out.println("Qual o valor de x?");
        int valor = leitura.nextInt();

        System.out.println("O valor de x é " + valor + "?");
        String resposta = leitura.nextLine();

        System.out.println("Quanto é a metade de x?");
        double divisao = leitura.nextDouble();

        System.out.println("A metade de x é igual a " + divisao + "!!");

        System.out.println(valor + "--- " + resposta + "--- " + divisao);

    }
}
2 respostas

Olá,

realmente isso não funciona. Utilize Integer.parseInt(leitura.nextLine()); ou leitura.next().

Até +.

solução!

2 meses depois voltando aqui para dar uma olhada nas interações e vendo meu código nadavê kkkkkk, descobri oque estava acontecendo, recentemente estudando a classe Scanner li que é preciso limpar o buffer após a entrada de dados tipo double e int porque os dados podem ficar no buffer e não ler a próxima entrada, é oque aconteceu com minha "String resposta = leitura.nextLine();".