Olá colegas, tenho um problema que não é novo, já que alguns já abordaram aqui no forúm.
Esse artigo chegou o mais perto, mas não chegou a uma conclusão.
Portanto vamos lá, tenho esse código:
public class SomarNumeros {
//método principal
public static void main(String[] args) {
Scanner entrada = new Scanner( System.in );
double numero1;
double numero2;
System.out.print("Digite o primeiro número: ");
numero1 = entrada.nextDouble();
System.out.print("Digite o segundo número: ");
numero2 = entrada.nextDouble();
double resultado = numero1 + numero2;
System.out.printf("A soma " + numero1 + " + " + numero2 + " = " + resultado);
}
}
Até aí sem nenhum problema, só que quando digito 22.1, então solta essa exceção java.util.InputMismatchException.
Então pensei o modo de consertar isso, é quando a pessoa digitar o número, 22.1 ir com a vírgula 22,1 (um tipo de mascara)
Como fazer isso ainda não sei, mas dei uma pesquisada e vi o método replace e fiz assim o código:
Scanner entrada = new Scanner(System.in);
double numero1;
String digitarNumero = "Digite um numero: ";
System.out.println(digitarNumero.replace(".", ","));
numero1 = entrada.nextDouble();
Como esperado não deu certo.
Fiz mais pesquisa e achei esse código:
String string = "3.14";
System.out.println(string);
char[] cs = string.toCharArray();
for (int i = 0; i < cs.length; i++) {
if (cs[i] == '.') {
cs[i] = ',';
}
}
System.out.print(cs);
Esse código faz a troca de boa, só que não é na hora de execução alguém pode me ajudar?
Agradeço quem tiver disponibilidade.