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

Há algo em que se possa melhorar neste código?

public class TestaPontoVariavel {

    public static void main(String[] args) {

//Definindo Variaveis

        double peso    =  60.0;
        double altura  =  1.84;        
        double imc = peso / (altura * altura);

        System.out.println(imc);

//Definindo condicionais limitantes max.

        boolean valorImcIdealMaximo = imc <= 35; 
        boolean valorImcBaixoMaximo = imc <  18.5;
        boolean valorImcAltoMaximo  = imc <  100.0; //preciso definir?

//Definindo condicionais limitantes min.

        boolean valorImcIdealMinimo = imc >= 18.5; 
        boolean valorImcBaixoMinimo = imc >= 0.0;   //preciso definir?
        boolean valorImcAltoMinimo = imc  >= 35.0;

//Efetuando condicionais

        if(valorImcAltoMaximo && valorImcAltoMinimo) {

            System.out.println("Seu IMC está acima do recomendado.");

        }

        if(valorImcIdealMaximo && valorImcIdealMinimo) {

            System.out.println("Seu Imc está ótimo");

        }

        if(valorImcBaixoMaximo && valorImcBaixoMinimo) {

            System.out.println("Seu IMC está abaixo do recomendado.");

        }
    }    
}

Este código, é uma tentativa minha de fazer o código do curso de JavaScrit, se tronar Java.

3 respostas

Gostaria de poder requisitar o Imput de Altura e Peso a um possivel Úsuario. Bem como é feito com JavaScript.

solução!

Olá Guilherme!

Essa é uma solução para você continuar os seus estudos e avançar na linguagem.

Você pode usar a classe Scanner e entrar com o valor no console.

No início do código importe a classe Scanner import java.util.Scanner;

Na parte de definir as variáveis, você cria o objeto "Scanner"

Acho que o curso de java II e III aborda esse assunto.

No curso de java II eles explicam o uso do try/catch que seria uma solução para tratar o erro caso o usuário informe a altura com o ponto (.) em vez de vírgula (,).

O código fica assim:

import java.util.Scanner;

public class TestaPontoVariavel {

public static void main(String[] args) {

//Entrada do peso e altura, como você queria.

Scanner entradaPeso = new Scanner(System.in);

System.out.print("Informe o peso: ");

double peso = entradaPeso.nextDouble();

//double peso = 60.0; não precisa mais atribuir valor fixo, pode deletar essa linha

Scanner entradaAltura = new Scanner(System.in);

System.out.print("Informe a altura: ");

double altura = entradaAltura.nextDouble();

//double altura = 1.84; não precisa mais atribuir valor fixo, pode deletar essa linha

//Daqui para baixo seu código não precisa mudar mais nada para ter "input de peso e altura"

double imc = peso / (altura * altura);

System.out.println(imc);

//Definindo condicionais limitantes max.

boolean valorImcIdealMaximo = imc <= 35; boolean valorImcBaixoMaximo = imc < 18.5; boolean valorImcAltoMaximo = imc < 100.0; //preciso definir?

//Definindo condicionais limitantes min.

boolean valorImcIdealMinimo = imc >= 18.5; boolean valorImcBaixoMinimo = imc >= 0.0; //preciso definir? boolean valorImcAltoMinimo = imc >= 35.0;

//Efetuando condicionais

if(valorImcAltoMaximo && valorImcAltoMinimo) {

System.out.println("Seu IMC está acima do recomendado.");

}

if(valorImcIdealMaximo && valorImcIdealMinimo) {

System.out.println("Seu Imc está ótimo");

}

if(valorImcBaixoMaximo && valorImcBaixoMinimo) {

System.out.println("Seu IMC está abaixo do recomendado.");

}

}

}

Espero ter ajudado de alguma forma e me desculpe se não fui tão claro.

Obrigado Rogerio!!!!

Me ajudou muito!