[RESOLVIDO]Problema com numeros quebrados

Boa tarde,
Estou com problema na hora de fazer a leitura de números quebrados, sejam eles com “,” ou “.”(Ex: 10,4 ou 10.4) simplesmente retorna o erro

Exception in thread “main” java.util.InputMismatchException
at java.base/java.util.Scanner.throwFor(Scanner.java:939)
at java.base/java.util.Scanner.next(Scanner.java:1594)
at java.base/java.util.Scanner.nextInt(Scanner.java:2258)
at java.base/java.util.Scanner.nextInt(Scanner.java:2212)

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):

public class Exec4 {

public void exec4() {
	Locale.setDefault(Locale.US);
	Scanner sc = new Scanner(System.in);

	int numero, horas;
	double valorHora, salario;

	numero = sc.nextInt();
	horas = sc.nextInt();
	valorHora = sc.nextDouble();

	salario = valorHora * horas;

	System.out.println("NUMBER = " + numero);
	System.out.printf("SALARY = U$ %.2f%n", salario);

	sc.close();

}

}

Ps.: Tanto no NetBeans como no Eclipse ocorre

os 2 primeiros números são inteiros, só o Terceiro que você vai conseguir digitar com 10.4.

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:

Exception in thread “main” java.util.InputMismatchException
at java.base/java.util.Scanner.throwFor(Scanner.java:939)
at java.base/java.util.Scanner.next(Scanner.java:1594)
at java.base/java.util.Scanner.nextInt(Scanner.java:2258)
at java.base/java.util.Scanner.nextInt(Scanner.java:2212)

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.

Exemplo:
double t = 10.2;
int x = (int) t;
System.out.println(x); // Resultado = 10

Solução:

   public static void main(String[] args) {
	// TODO Auto-generated method stub
	Locale.setDefault(Locale.US);
	Scanner sc = new Scanner(System.in);

	double numero, horas;
	double valorHora, 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();
}

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.

Exception in thread “main” java.util.UnknownFormatConversionException: Conversion = ‘2’
at java.base/java.util.Formatter.checkText(Formatter.java:2732)
at java.base/java.util.Formatter.parse(Formatter.java:2708)
at java.base/java.util.Formatter.format(Formatter.java:2655)
at java.base/java.io.PrintStream.format(PrintStream.java:1053)
at java.base/java.io.PrintStream.printf(PrintStream.java:949)
at

o Código é este package NovosExerciciosAParte;

import java.util.Locale;
import java.util.Scanner;

public class ExerciciosDoMaterialDeApoioMatematica4 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Locale.setDefault(Locale.US);
	Scanner sc = new Scanner(System.in);

	int numero, horas;
	double valorHora, salario;
	numero = sc.nextInt();
	horas = sc.nextInt();
	valorHora = sc.nextDouble();
	salario = valorHora * horas;

	System.out.println("NUMBER = " + numero);
	System.out.printf("SALARY = U$ %2.f%n", salario);

	sc.close();
}

}

Estou inserindo os números 25, 100, 5.50 no scanner e da erro mesmo o terceiro sendo double.