IMC em Java

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;

 /* O Índice de Massa Corporal representada pela sigla IMC
  é a medida do grau de obesidade de uma pessoa, considerando
  a altura e a massa de uma pessoa.*/

public class IMC extends JPanel{
   
    // Autor: João Matheus Santos Assis
   
    float Mass_a, Altur_a, Resultad_o;
   
    private JPanel Obter_dados = new JPanel();
    private JPanel Exibir_Resultado = new JPanel();

    private JLabel Exibi_IMC = new JLabel();
    private JLabel EXibi_Status = new JLabel();
   
    // Espera-se que a massa esteja em quilogramas e a altura em metros.
    private JLabel Massa = new JLabel("Massa (Kg): ");
    private JLabel Altura = new JLabel(" Altura (m): ");

    private JTextField M_assa = new JTextField(9);
    private JTextField A_ltura = new JTextField(9);

    private JButton Calcular = new JButton("Calcular");
    private JButton Limpar = new JButton("Limpar");

    public IMC(){
       
        // Definindo a fonte dos JLabel's
        Massa.setFont(new Font("Tahoma", Font.BOLD, 14));
        Altura.setFont(new Font("Tahoma", Font.BOLD, 14));
       
       
        // Adicionando os componentes
        Obter_dados.add(Massa);
        Obter_dados.add(M_assa);
        Obter_dados.add(Altura);
        Obter_dados.add(A_ltura);
        Obter_dados.add(Calcular);
        Obter_dados.add(Limpar);
        Obter_dados.add(Exibi_IMC);

        add(Obter_dados);
        // Adicionando título ao JLabel
        Obter_dados.setBorder(BorderFactory.createTitledBorder("IMC"));
        // Dimensão do JPanel 210 de comprimento por 150 de largura
        Obter_dados.setPreferredSize(new Dimension(210,150));
       
        Exibir_Resultado.add(EXibi_Status);
       
        add(Exibir_Resultado);
        Exibir_Resultado.setBorder(BorderFactory.createTitledBorder("Resultado"));
        Exibir_Resultado.setPreferredSize(new Dimension(210,90));
       
       
        Calcular.addActionListener(new ActionListener(){
           
            public void actionPerformed( ActionEvent event){
           
            // Obtendo a massa e a altura e convertendo de String para float
            Mass_a = Float.valueOf(M_assa.getText());
            Altur_a = Float.valueOf(A_ltura.getText());
           
            // Calculo de IMC: massa dividida pelo quadrado da altura
            Resultad_o = Mass_a / (Altur_a * Altur_a);
           
            EXibi_Status.setText(Verifica(Resultad_o));
            Exibi_IMC.setText(String.valueOf(Resultad_o));
           
           
            }});
           
           
            Limpar.addActionListener(new ActionListener(){
               
            public void actionPerformed(ActionEvent event){
               
                // Apagando os conteúdos os JTextField's'
                M_assa.setText("");
                A_ltura.setText("");
                Exibi_IMC.setText("");
           
            }               
            });
       
    }
   
   
    public String Verifica (float Resultad_o){
        String resultado = null;
       
        // Verificando a situação do indivíduo
       
        if (Resultad_o<18.5)
              resultado="Baixo peso";
        else if (Resultad_o>=18.5 && Resultad_o<24.9)
              resultado="Normal";
        else if (Resultad_o>=25.0 && Resultad_o<=29.9)
              resultado="Pre-obeso";
        else if (Resultad_o>=30.0 && Resultad_o<=34.9)
              resultado="Obesidade classe I (leve)";
        else if (Resultad_o>=35.0 && Resultad_o<39.9)
              resultado="Obesidade classe II (moderada)";
        else if (Resultad_o>=40.0)
              resultado="Obesidade classe III (grave,morbida)";
       
        // Retorna a variável resultado no modo String
        return resultado;
       
    }
   
    public static void main(String[] args){
       
        JFrame Janela = new JFrame();
        IMC imc = new IMC();
       
        Janela.add(imc);
       
        Janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        Janela.setTitle("Calculando o IMC");
        Janela.setSize(240,300);
        Janela.setVisible(true);
        Janela.setResizable(false);
        Janela.setLocationRelativeTo(null);
    }
}



Palavras-chaves: IMC-Massa-Altura-Calcular-Limpar.


Artigos relacionados em Java:

Feito no NetBeans-5.5.1 | Executável





Feito no NetBeans-5.5.1 | Executável