Calcul de l'IMC

Énoncé

Créer une application Android permettant de retourner l'Indice de Masse Corporelle à partir de la saisie d'un poids et d'une taille.

IMC = poids / (taille * taille)

La taille est fournie ou convertie en mètre.

 

Exemple d'interface graphique à obtenir :

image

image

 


 

 

Ma solution

package com.example.android_calculimc;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;

public class MainActivity extends AppCompatActivity
{
   
Button btnEnvoi;
   
RadioButton radMetre, radCm;
   
float poids, taille;
   
EditText edtPoids, edtTaille, edtMessage;

   
@Override
   
protected void onCreate(Bundle savedInstanceState) {
       
super.onCreate(savedInstanceState);
        setContentView(
R.layout.activity_main);
        initialisations();
    }
   
public void initialisations()
    {
       
edtPoids = findViewById(R.id.edtPoids);
       
edtTaille = findViewById(R.id.edtTaille);
       
edtMessage = findViewById(R.id.edtResultat);
       
radMetre = findViewById(R.id.radBtnMetre);
       
radCm = findViewById(R.id.radBtnCm);
       
btnEnvoi = findViewById(R.id.btnCalcul);
       
btnEnvoi.setOnClickListener(new clicSurBouton());
    }
   
public class clicSurBouton implements View.OnClickListener
   
{

       
@Override
       
public void onClick(View v)
        {
           
taille = Float.parseFloat(edtTaille.getText().toString());
           
poids = Float.parseFloat(edtPoids.getText().toString());
           
if (radCm.isChecked())
            {
               
taille = taille / 100;
            }
           
// Permet d'arrondir 2 chiffres après la virgule
            // Le nombre de zéros correspond au nombre de décimales. Ici 100 donc 2 décimales
           
float indIMC = (float)Math.round((poids / (taille * taille))*100)/100;
           
edtMessage.setText(String.valueOf(indIMC));
        }
    }
}