Problema com double (JAVA)

O código abaixo está dando erro na hora imprimir (ex: dado1 = 13.399 e dado 2 =0 .3)

public static void main(String[] args) {
	Scanner sc = new  Scanner(System.in);
	
	double populacao;
	double taxaDeCrescimento;
	double populacaoEstimada;
	
	System.out.println("Informe a população mundial atual: ");
	populacao = sc.nextDouble();
	
	System.out.println("Informe a taxa de crescimento demográfica anual: ");
	taxaDeCrescimento = sc.nextDouble();
	
	populacaoEstimada = populacao * taxaDeCrescimento;
	
	System.out.println("A população estimada depois de 1 ano é: " + populacaoEstimada);
	
		
}

}

O método nextDouble() não consome a quebra de linha ao pressionar o ENTER.
O único método da classe Scanner que consome a quebra de linha é o nextLine().

Você tem duas opções:

  1. Substituir as chamadas ao sc.nextDouble() por Double.parseDouble(sc.nextLine());

  2. Chamar o sc.nextLine() após cada chamada ao sc.nextDouble() para consumir a quebra de linha que ficou “pendurada” após o ENTER.

Recomendo a primeira opção.

2 curtidas