Na minha lista de exercícios na faculdade, tem uma questão me mostrando um bug que não consigo consertar.
A questão é apenas para coletar o nome de 15 clientes, e o total gasto em certa loja no último ano.
Dependendo do valor, terá um pequeno bônus, enfim, nada complexo.
Eu tentei primeira usando um for, aí apresentou esse bug, depois tentei com while e apresentou esse bug.
O bug é que, na primeira "ida" do laço de repetição, ele funciona normalmente, ele imprime pedindo o nome do cliente, depois imprime pedindo o valor gasto e então ele faz o cálculo e exibe ele.
Porém na segunda volta do laço, ele imprime o "Insira o nome do cliente", mas não deixa preencher, ele já imprime direto o "Insira o valor gasto".
Se alguém puder me ajudar, agradeço.
Segue o código que estou usando e que apresenta o bug:
public static void main(String[] args) {
String nome;
double val, bonus;
int i = 0;
Scanner x = new Scanner(System.in);
while (i < 15) {
System.out.println("Digite o nome do cliente.");
nome = x.nextLine();
System.out.println("Valor das compras no ano passado.");
val = x.nextDouble();
if (val <= 1000) {
bonus = val * 0.10;
} else {
bonus = val * 0.15;
}
System.out.println("\n... processando ...\n");
System.out.printf("\nO valor do seu bônus será de: %2.2f\n",bonus);
i++;
}
}
}