AndroidStudio简单实现BMI计算

 更新时间:2021年4月22日 15:01  点击:1809

本文实例为大家分享了AndroidStudio简单实现BMI计算的具体代码,供大家参考,具体内容如下

xml代码

```xml

<TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:text="BMI计算器"
        android:textSize="25dp"/>
    <EditText
        android:id="@+id/height"
        android:layout_width="match_parent"
        android:layout_below="@id/textView"
        android:layout_height="50dp"
        android:hint="身高(米)"
        android:layout_marginLeft="20dp"
        />
    <EditText
        android:id="@+id/weight"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_below="@id/height"
        android:hint="体重(公斤)"
        android:layout_marginLeft="20dp"
        />
    <TextView
        android:id="@+id/txt"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_below="@id/weight"
        android:text="结论"
        />
    <Button
        android:id="@+id/btn_count"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/rdgp"
        android:text="计算"
        android:onClick="ButtonClick"
        />

    <RadioGroup
        android:id="@+id/rdgp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_below="@id/txt">

        <RadioButton
            android:id="@+id/rbtn_who"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="WHO标准" />

        <RadioButton
            android:id="@+id/rbtn_asia"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="亚洲标准" />

        <RadioButton
            android:id="@+id/rbtn_chn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="中国标准" />
</RadioGroup>

java代码

public  void  ButtonClick(View v){
        EditText editHeight = (EditText)findViewById(R.id.height);
        EditText editWeidth = (EditText)findViewById(R.id.weight);
        TextView txtResault = (TextView)findViewById(R.id.txt);
        //获取编辑框内容,由于是字符串类型,需要转换为可计算类型
        Double height = Double.parseDouble(editHeight.getText().toString());
        Double weight = Double.parseDouble(editWeidth.getText().toString());
        //设置判断语句
        Double bmi = weight / (height*height);
/*
        BMI在18.5-24之间是正常的。
        BMI低于18.5考虑为体重过轻;
        24-27之间为超重;
        超过27以上为肥胖。
 */
        RadioButton rdbtn_1 = (RadioButton)findViewById(R.id.rbtn_who);
        RadioButton rdbtn_2 = (RadioButton)findViewById(R.id.rbtn_asia);
        RadioButton rdbtn_3 = (RadioButton)findViewById(R.id.rbtn_chn);
        //判断控件按钮是否被选中 isChecked()
        if(rdbtn_1.isChecked()){
            if(bmi<18.5){
                txtResault.setText("BMI"+bmi.toString()+",您的体重偏轻");
            }
            else  if(bmi<=24.9){
                txtResault.setText("BMI"+bmi.toString()+",您的体重正常");
            }
            else if(bmi<=29.9){
                txtResault.setText("BMI"+bmi.toString()+",您的体重偏重");
            }
            else if (bmi<=34.9){
                txtResault.setText("BMI"+bmi.toString()+",您的体重肥胖!!!");
            }
            else if (bmi<=39.9){
                txtResault.setText("BMI"+bmi.toString()+",您的体重过于肥胖!!!!");
            }
            else {
                txtResault.setText("BMI"+bmi.toString()+",您的体重严重肥胖!!!!!!!");
            }
        }
        else if(rdbtn_2.isChecked()){
            if(bmi<18.5){
                txtResault.setText("BMI"+bmi.toString()+",您的体重偏轻");
            }
            else  if(bmi<=22.9){
                txtResault.setText("BMI"+bmi.toString()+",您的体重正常");
            }
            else if(bmi<=24.9){
                txtResault.setText("BMI"+bmi.toString()+",您的体重偏重");
            }
            else if (bmi<=29.9){
                txtResault.setText("BMI"+bmi.toString()+",您的体重肥胖!!!");
            }
            else if (bmi<=40){
                txtResault.setText("BMI"+bmi.toString()+",您的体重过于肥胖!!!!");
            }
            else{
                txtResault.setText("BMI"+bmi.toString()+",您的体重严重肥胖!!!!!!!");
            }

        }
        else if (rdbtn_3.isChecked()){
            if(bmi<18.5){
                txtResault.setText("BMI"+bmi.toString()+",您的体重偏轻");
            }
            else  if(bmi<=23.9){
                txtResault.setText("BMI"+bmi.toString()+",您的体重正常");
            }
            else if(bmi<=27.9){
                txtResault.setText("BMI"+bmi.toString()+",您的体重偏重");
            }
            else {
                txtResault.setText("BMI"+bmi.toString()+",您的体重肥胖");
            }
        }
        else {
            txtResault.setText("请选择BMI标准");
        }
    }

总结:

1.判断选择按钮时,可以采用isChecked进行判断;
2.类型转换,可以采用 对象.getText().toString() 获取编辑内容,再进行类型转换

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持猪先飞。

[!--infotagslink--]

相关文章

  • python 计算方位角实例(根据两点的坐标计算)

    今天小编就为大家分享一篇python 计算方位角实例(根据两点的坐标计算),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-04-27
  • JS实现购物车中商品总价计算

    这篇文章主要为大家详细介绍了JS实现购物车中商品总价的计算 ,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-03-07
  • golang与php实现计算两个经纬度之间距离的方法

    这篇文章主要介绍了golang与php实现计算两个经纬度之间距离的方法,结合实例形式对比分析了Go语言与php进行经纬度计算的相关数学运算技巧,需要的朋友可以参考下...2016-07-29
  • C#实现计算一个点围绕另一个点旋转指定弧度后坐标值的方法

    这篇文章主要介绍了C#实现计算一个点围绕另一个点旋转指定弧度后坐标值的方法,涉及C#针对坐标的数学运算相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • AndroidStudio升级4.1后启动失败Plugin问题解决

    这篇文章主要介绍了AndroidStudio升级4.1后启动失败Plugin问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-10-18
  • c# 计算时间间隔的简单方法(推荐)

    下面小编就为大家带来一篇c# 计算时间间隔的简单方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • Vue如何使用Dayjs计算常用日期详解

    这篇文章主要给大家介绍了关于Vue如何使用Dayjs计算常用日期的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-09
  • C语言简单实现计算字符个数的方法

    这篇文章主要介绍了C语言简单实现计算字符个数的方法,涉及C语言针对字符串的简单遍历与判定技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-04-25
  • Unity实现汽车前后轮倒车轨迹计算

    这篇文章主要为大家详细介绍了Unity实现汽车前后轮倒车轨迹计算,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-13
  • Go语言计算指定年月天数的方法

    这篇文章主要介绍了Go语言计算指定年月天数的方法,实例分析了Go语言操作时间的技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-05-05
  • C#根据年月日计算星期几的函数

    这篇文章主要为大家详细介绍了C#实现根据年月日计算星期几的函数,感兴趣的小伙伴们可以参考一下...2020-06-25
  • 在SQLSERVER2005中实现素数计算

    我将提出一个挑战,谁能用SQLSEERVER提出计算素数最好的方法, 我用了一个新的特点CTE和某些TSQL实现,但均不理想,前者(CTE)有限制,而后者(TSQL)产生一百万个素数用了7分种 你可...2016-11-25
  • Vue3 响应式侦听与计算的实现

    这篇文章主要介绍了Vue3 响应式侦听与计算的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-11
  • C#计算汽车行驶方向的方法分析

    这篇文章主要介绍了C#计算汽车行驶方向的方法,结合实例形式分析了C#数值计算的原理与相关技巧,需要的朋友可以参考下...2020-06-25
  • Android studio案例之实现电话拨号

    这篇文章主要介绍了Android studio案例之实现电话拨号,并有详细的步骤和实现代码,对此感兴趣的同学,可以参考下...2021-04-12
  • PHP计算上一个月的今天 今天是星期几

    本文章来给大家介绍关于PHP计算上一个月的今天 今天是星期几的程序演示实例过程,各位有需要了解的朋友可参考。 上一个月的今天 strtotime 有个小问题 代...2016-11-25
  • C语言科学计算入门之矩阵乘法的相关计算

    这篇文章主要介绍了C语言科学计算入门之矩阵乘法的相关计算,文章中还介绍了矩阵相关的斯特拉森算法的实现,需要的朋友可以参考下...2020-04-25
  • php计算时间间隔实现程序代码

    在文章里面我说了很多关于php计算时间间隔实现程序代码的实现方法原理以及分析如何来做这个功能,有需用的同学可以仔细看看哦。 下面实例是告诉我们在论坛有看到关...2016-11-25
  • 怎么计算一个程序的执行时间

    function getmicrotime(){ list($usec, $sec) = explode(" ",microtime()); return ((float)$usec (float)$sec); } $time_start = getmicrotime();//开始计时,...2016-11-25
  • php时间计算相关问题小结

    这篇文章主要介绍了php时间计算相关问题,结合实例形式总结分析了php关于时间与日期的常见操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2016-05-13