Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Problemas com o double

Bom dia pessoal! Durante o curso java junior, sempre usamos os número com o "." para setar variáveis do tipo double.

Porém, no programinha que desenvolvi ele só está aceitando ","(vírgula), isso me deixou com a pulga atrás da orelha.

Afinal qual o formato padrão para o tipo double?

Segue o programinha:

package executavel;

import java.util.Scanner;
import sistema.CalculadoraCorporal;

public class Principal {
    public static void main(String[] args) {
        CalculadoraCorporal cc = new CalculadoraCorporal();

        Scanner dados = new Scanner(System.in);

        System.out.println("Informe seu peso: ");
        double peso = dados.nextDouble();

        System.out.println("Informe sua altura: ");
        double altura = dados.nextDouble();

        double resultado = cc.imc(altura, peso);

        System.out.printf("Seu índice de gordura corporal é: "+"%.2f",resultado);

    }
}
6 respostas

Opa tudo bem? Não entendi muito bem sua duvida, más o tipo Double recebe por exemplo.

private Double salario = 1400.00;

O Double recebe .

Boa tarde Bruno. É meio estranho mas é assim mesmo kk quando pegamos informações do usuário usando Scanner para tipos double, ele tem que setar com virgula "," mas chega como ponto "." Mas existem algumas forma de converter isso fazendo com que o usuário sete o valor usando ponto.

Então, durante todo o curso fiz esse jeito 100.00, mas quando escrevi meu programinha para receber a altura do usuário, ele aceita somente 100,00(com vírgula)...

Se eu colocar "." ponto, gera o seguinte erro:

Informe seu peso: 
95
Informe sua altura: 
1.8
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 executavel.Principal.main(Principal.java:17)
solução!

Sim Bruno, meio confuso né ? quando você usa o Objeto Scanner para receber os dados, as variáveis do tipo double tem que ser setadas com vírgula, mas chega no programa com ponto

Entendi Vinícius, orbrigado! Isso quer dizer que eu preciso fazer um tratamento no meu programa para caso o usuário digitar com "." ?

Exato Bruno, existem soluções para isso no GUJ, forúm dos usuários de java, caso queira tratar isso, dê uma olhada lá