0

Desafio

#Java
Geraldo Cruz
Geraldo Cruz

Muita gente esta começando com o java do zero, como todos sabem é a pratica que leva a perfeição, hoje vou deixar um desafio em java para a galera que possa programar de qualquer jeito, neste o que importa é o programa funcionar

então segue o desafio.


Crie um programa capaz de calcular o IMC, inserindo a altura e o peso, o resultado devera informar se a pessoa se encontra abaixo do peso, peso normal, sobrepeso, obesidade I, Obesidade II e obesidade mórbida, conforme a tabela no link;


https://www.ricardogozzano.com.br/calculadora-imc/


A resposta do desafio esta no meu Github, se quiserem eu coloco no corpo do desafio, fiquem a vontade para comentar.







https://github.com/felipemedeiroscruz/IMCjava/blob/master/imc.java

0
6

Comentários (6)

0
Geraldo Cruz

Geraldo Cruz

13/10/2021 12:53

Arthur gostei da ideia do método, vou começar a implementar, geralmente eu faço os desafios matemáticos direto.

nesta questão da lib decimal format gostei, eu sempre fiz isso alterando usando o Locale.

Sim pode usar o Switch case para reduzir a quantidade de IFs.


Willian, exatamente, todo mundo tem uma visão sobre algo que as vezes é diferente da nossa, o bom que podemos sempre aprender a fazer as coisas de maneiras diferentes.


Estou gostando desta experiência de ver a resolução do amigo acima, e as sugestões, assim o aprendizado fica melhor, afinal seja Estagiário, Junior, Pleno, Sênior, ninguém é dono da verdade, espero que a galera se divirta. amanha vou postar um outro ai.

0
William Lopes

William Lopes

13/10/2021 12:46

É isso aí Geraldo, desafio muito interessante, mão no código!🚀

0
Nicolas Guerrero

Nicolas Guerrero

13/10/2021 12:19

@Arthur Pedrosa, dá para usar um switch case no lugar desse tanto de else if, fica um pouqinho mais coeso;)

1
Arthur Pedrosa

Arthur Pedrosa

13/10/2021 12:13

Olá, consegui fazer o desafio. Estou iniciando em Java e tentei utilizar duas classes para fazer, uma delas com um método para determinar a classificação de acordo com o valor do imc. Aceito sugestões de como melhorar, principalmente a questão do método, se há uma forma de simplificar essa operação.


package CalcularIMC;
import java.text.DecimalFormat;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner ler = new Scanner(System.in);
        Pessoa pessoa = new Pessoa();

        System.out.println("Digite sua altura em metros (Ex.: 1,75): ");
        pessoa.altura = ler.nextDouble();
        System.out.println("Digite seu peso em Kg: ");
        pessoa.peso = ler.nextDouble();

        pessoa.imc = pessoa.peso / (pessoa.altura * pessoa.altura);

        System.out.print("Seu IMC atual é: ");
        DecimalFormat df = new DecimalFormat("#.0");
        System.out.println(df.format(pessoa.imc));

        pessoa.classificacaoIMC();

    }
}


package CalcularIMC;

public class Pessoa {

    double altura;
    double peso;
    double imc;

void classificacaoIMC(){

    if(imc < 18.5){
        System.out.println("Abaixo do peso!");
    } else if(imc >= 18.5 && imc < 25){
        System.out.println("Peso normal");
    } else if(imc >= 25 && imc < 30){
        System.out.println("Sobrepeso");
    } else if(imc >= 30 && imc <35){
        System.out.println("Obesidade grau 1");
    } else if(imc >= 35 && imc < 40){
        System.out.println("Obesidade grau 2");
    } else {
        System.out.println("Obesidade mórbida!");
    }

    }
}

1
Geraldo Cruz

Geraldo Cruz

13/10/2021 11:17

@Robson Garcia,

Eu sempre procuro resolver alguns desafios, para fixar a linguagem, entendo que assim é a melhor maneira de aprender, com a mão na massa, no nosso caso a mão no código, sempre que puder irei postando uns desafios simples, a ideia é todos resolverem de qualquer maneira, que chegue até o resultado, depois quem sabe a galera ir aperfeiçoando o código, como reduzindo o numero de IFs, aplicando uma lógica melhor, afinal e vendo, fazendo que se apreende.

0
Robson Garcia

Robson Garcia

13/10/2021 10:44

Bom dia Geraldo, tudo bem?

Vou deixar seu desafio arquivado, porque devo começar a estudar Java, mais pra frente vou debruçar sim nesse desafio.

Abraços

Buscando me tornar Um dev Full-Stack

Brasil