Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rafarocha/86ccbf7e0746241d513c812ed9f92366 to your computer and use it in GitHub Desktop.
Save rafarocha/86ccbf7e0746241d513c812ed9f92366 to your computer and use it in GitHub Desktop.
turma-1076-desafio03-feedback-patricia-ferreira.java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner leitor = new Scanner(System.in);
System.out.println("Informe sua altura em metros: ");
System.out.print("> ");
double altura = leitor.nextDouble();
System.out.println("Informe seu peso em Kg: ");
System.out.print("> ");
double peso = leitor.nextDouble();
double imc = peso / (altura * altura);
System.out.printf("O valor do seu IMC é %.2f. ", imc);
double imcIdeal = 24.90;
if (imc < imcIdeal) {
System.out.println("Você está abaixo do IMC ideal.");
} else if (imc > imcIdeal) {
System.out.println("Você está acima do IMC ideal.");
} else {
System.out.println("Você está no IMC ideal.");
}
}
}
@rafarocha
Copy link
Author

Revisão

  • Algoritmo funcional com quase todas as etapas em 58 linhas totais
  • Atendeu os principais cenários básicos de cálculos e tipos
  • Manteve a faixa das 80 colunas por linha de código

Melhorias

  • Poderia tratar de obter valor e cálculos reusados por métodos
  • Faltou uma boa apresentação do programa na inicialização
  • Poderia implementar constantes para faixa de valores de verificação
    • Poderia haver para textos fixos também
  • Faltou tratar valores quando inválidos, igual a zero ou negativos.
  • Não atendeu quando a entrada for zero pois retornou dados NaN e 0.0
  • Em próxima oportunidade tratar o close com try/catch conforme indicado link

Referências

@Patycrazier
Copy link

Obrigada, Rocha! Vou prestar atenção nos pontos de melhorias.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment