Olá a todos.
Estou recebendo o erro InputMismatchException
ao tentar receber um Double do usuário. Também deixei como Float e o mesmo ocorreu. Eu procurei formas de resolver, mas continuo com o erro.
O código e o erro estão mais abaixo.
import java.util.Scanner;
public class SalarioLiquido {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
float salario;
Double desconto_extra = 0.0;
int qtd_desconto_extra;
String nome, cargo;
System.out.print("Nome: ");
nome = input.nextLine();
System.out.print("Cargo: ");
cargo = input.nextLine();
System.out.print("Quantidade de descontos extras: ");
qtd_desconto_extra = input.nextInt();
for (int contador=0; contador<=qtd_desconto_extra; contador++) {
System.out.print("Valor do desconto em R$: ");
desconto_extra = input.nextDouble();
desconto_extra = desconto_extra + desconto_extra;
System.out.println(desconto_extra);
}
}
}
Erro:
Nome: Ana
Cargo: Advogada
Quantidade de descontos extras: 3
Valor do desconto em R$: 8.50
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:864)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextDouble(Scanner.java:2413)
at SalarioLiquido.main(SalarioLiquido.java:24)
Process finished with exit code 1
Se alguém puder me ajudar a entender o porquê de estar ocorrendo, agradeço. Pois creio ter entendido que essa exceção é lançada ao receber um tipo de dado que não esperava, mas não encontro onde está o erro.