Já usei Locale.setDefault(Locale.US); pra ver se resolvia porém o erro persiste. Alguém saberia me dizer como resolver? Só consigo inserir apenas números inteiros.
Segue cód que apresenta o erro(porém o erro persiste em qualquer código que eu faça):
os 2 primeiros números são inteiros, só o Terceiro que você vai conseguir digitar com 10.4.
F
facanha
As suas variareis numero e horas são do tipo int e você está tentando atribuir valores de pontos flutuantes a essas variáveis se você fizer isso ocasionará o erro abaixo:
Se você quiser atribuir um valor com ponto flutuante (double ou float) a uma variável do tipo int, você terá que realizar um casting (Conversão explícita de um tipo para outro.), neste caso a parte fracionada do número será perdida.
publicstaticvoidmain(String[]args){// TODO Auto-generated method stubLocale.setDefault(Locale.US);Scannersc=newScanner(System.in);doublenumero,horas;doublevalorHora,salario;numero=sc.nextDouble();horas=sc.nextDouble();valorHora=sc.nextDouble();salario=valorHora*horas;System.out.println("NUMBER = "+numero);System.out.printf("SALARY = U$ %.2f%n",salario);sc.close();}
K
KevinMagican
Estou tendo o mesmo problema e a solução não resolveu, estou tentando atribuir valor com ponto flutuante apenas na variável valorHora que está em double, só que no final da este erro.