import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/*
* 健康体检
BMI是Body Mass Index 的缩写,是通过身高和体重计算出来的一个指数。由于BMI计算的是身体脂肪的比例,所以在测量身体因超重而面临心脏病、高血压等风险上,比单纯的以体重来认定更具有准确性。BMI的计算标准规定如下:
标准体重:22 X 身高(米)的平方
体重指数:体重(公斤)/身高(米)的平方
正常体重:体重指数 18—25 输出“您的体重很标准”
超 重:体重指数 25—30 输出“您的体重有些超重,请注意身体”
轻度肥胖:体重指数 >30 输出“您有些轻度肥胖,应该注意锻炼了”
中度肥胖:体重指数 >35 输出“您属于中度肥胖,要经常锻炼身体了”
重度肥胖:体重指数 >40 输出“您属于重度肥胖,应该加强锻炼了”
无数据 输出“没有可供参考数据,请确认输入的数据是否正常”
根据BMI的测试标准编写代码,并制作相应窗口。评分准则:
1、 界面布局合理、美观
2、 输入身高、体重、
3、 身高所对应标准体重并打印输出
4、 计算BMI指数并打印输出
5、 并根据BMI指数判断并打印输出相应内容。
制作成窗口应用形式及运行参数如:
Put the hight(m):1.7
Put the hight(kg):70
您的身高应对应标准体重为:63.58
您的BMI指数为:24
您的体重很标准。
*/
public class BMI extends WindowAdapter implements ActionListener {
String ad = "input here!";
JFrame jf = new JFrame();
JPanel jp1 = new JPanel();
JPanel jp2 = new JPanel();
JPanel jp3 = new JPanel();
JPanel jp4 = new JPanel();
JPanel jp5 = new JPanel();
JLabel lb1 = new JLabel("Input your height(m)");
JLabel lb2 = new JLabel("Input your weight(kg)");
JLabel lb3 = new JLabel();
JLabel lb4 = new JLabel();
JTextField tf1 = new JTextField(ad, 15);
JTextField tf2 = new JTextField(15);
JTextField tfresult = new JTextField(15);
JTextField tfr1 = new JTextField(30);
JButton jb1 = new JButton("ok");
JButton jb2 = new JButton("clear");
public static void main(String args[]) {
BMI bmicalculate = new BMI();
bmicalculate.go();
}
public void go() {
jf.setLayout(new GridLayout(8, 1, 10, 10));
jf.setSize(700, 500);
jf.setLocation(300, 300);
jf.add(lb3);
jf.add(jp1);
jf.add(jp2);
jf.add(jp5);
jf.add(jp4);
jf.add(lb4);
jf.add(jp3);
jf.setVisible(true);
jf.addWindowListener(this);
jp1.setSize(300, 100);
jp1.add(lb1);
jp1.add(tf1);
jp2.setSize(300, 100);
jp2.add(lb2);
jp2.add(tf2);
jp3.setSize(200, 100);
jp3.add(jb1);
jp3.add(jb2);
jp4.setSize(300, 100);
jp4.add(tfresult);
jp5.setSize(300, 100);
jp5.add(tfr1);
jb1.setSize(100, 100);
jb2.setSize(100, 100);
jb1.addActionListener(this);
jb2.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
double a, b, c, d;
String ebanks="";
String s1 = tf1.getText();
String s2 = tf2.getText();
try {
a = Double.parseDouble(s1);
b = Double.parseDouble(s2);
c = 22 * a * a;
d = b / (a * a);
if (e.getSource() == jb1) {
if (d > 18 && d < 25) {
tfresult.setText("你的体重很标准");
} else if (d > 25 && d < 30) {
tfresult.setText("你的体重有些超重,请注意身体");
} else if (d > 30 && d < 40) {
tfresult.setText("您属于中度肥胖,要经常锻炼身体了");
} else if (d < 18) {
tfresult.setText("您偏轻,或者请检查输入是否正常");
} else {
tfresult.setText("您属于重度肥胖,应该加强锻炼了");
}
tfr1.setText("您的身高对应的标准体重为:" + c);
}
} catch (NumberFormatException ne) {
ne.printStackTrace();
}
if(e.getSource()==jb2){
tf1.setText(ebanks);
tf2.setText(ebanks);
}
}
}
御道御小黑
- 粉丝: 74
- 资源: 1万+
最新资源
- java学籍管理系统源码带本地搭建教程数据库 MySQL源码类型 WebForm
- php+mysql学生成绩查询(系统)
- Bazel 的 Go 规则.zip
- Android ListView下拉刷新 Demo.zip
- Python实现基于一维卷积神经网络(1D-CNN)的多元时间序列分类源码+文档说明
- java基于springBoot课程评价系统源码数据库 MySQL源码类型 WebForm
- 5G工业无线路由器说明书
- SunshineLife个人博客是基于django+mysql+layui的小型个人博客网站
- 5G终端拔号脚本(AT), 适用于MT5701
- 基于Python + Django的生鲜超市系统 调用alipay沙盒系统支付
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论0