Читать книгу Java Code - Алексей Алексеевич Крючков - Страница 5
Логика для калькулятора ИМТ(Индекса Массы Тела)
ОглавлениеПрактически готовый калькулятор ИМТ. Может определять границы нормального веса, а также тип телосложения.
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
float rost,ves,i,index;
String s,st,str;
try{
rost=Float.parseFloat(jTextField1.getText());
ves=Float.parseFloat(jTextField2.getText());
i=Float.parseFloat(jTextField3.getText());
}catch(Exception e){
JOptionPane.showMessageDialog(null,"Введите допустимые значения во все поля","ОШИБКА!",JOptionPane.ERROR_MESSAGE);
return;
}
rost=rost/100;
index=ves/(rost*rost);
index=index*(pol/i);
st=discriminator(n,i);
str=normalMass(i, rost, pol);
if(index<16)s="Дефицит массы";
else if(index>=16&&index<20)s="Недостаточный вес";
else if(index>=20&&index<25)s="Норма";
else if(index>=25&&index<30)s="Предожирение";
else if(index>=30&&index<35)s="Первая степень ожирения";
else if(index>=35&&index<40)s="Вторая степень ожирения";
else s="Морбидное ожирение";
jTextArea1.setText(st+"\nBMI="+String.valueOf(index)+"("+s+")\n"+str);
}
String discriminator(int a,float b){
String s="";
switch(a){
case 0:
if(b<18)s="Пол: мужской.\nТип телосложения: астенический.";
else if(b>=18&&b<=20)s="Пол: мужской.\nТип телосложения: нормостенический.";
else s="Пол: мужской.\nТип телосложения: гиперстенический.";
break;
case 1:
if(b<15)s="Пол: женский.\nТип телосложения: астенический.";
else if(b>=15&&b<=17)s="Пол: женский.\nТип телосложения: нормостенический.";
else s="Пол: женский.\nТип телосложения: гиперстенический.";
break;
default:
break;
}
return s;
}
String normalMass(float x,float y,float z){
float im=x*(y*y)/z;
return "Нижняя граница нормального веса: "+20*im+" кг\nВерхняя граница нормального веса: "+25*im+" кг";
}
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
jTextField1.setText("");
jTextField2.setText("");
jTextField3.setText("");
jTextArea1.setText("");
}
private void buttonActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
}
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
n++;
switch(n){
case 1:
jButton4.setText("женский");
pol=16;
break;
case 2:
jButton4.setText("мужской");
pol=19;
n=0;
break;
}
}