AndroidStudio简单实现BMI计算
作者:西_窗 发布时间:2022-11-24 03:14:50
标签:AndroidStudio,BMI,计算
本文实例为大家分享了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() 获取编辑内容,再进行类型转换
来源:https://blog.csdn.net/qq_46485804/article/details/115964012


猜你喜欢
- Android基础教程数据存储之文件存储将数据存储到文件中并读取数据1、新建FilePersistenceTest项目,并修改activit
- 本文实例为大家分享了android实现录屏小功能的具体代码,供大家参考,具体内容如下思路android实现录屏功能有两种方案,一种是直接使用
- 一、在pom.xml中配置jetty插件: <build> <plugins> <p
- 因工作需要,经常跟时间戳打交道,但是因为它仅仅是一个数字,我们很难直接看出它有什么意义,或两个时间戳之间究竟差了多长的间隔。于是从MSDN
- 本文介绍如何在springboot中使用默认的spring cache,声明式缓存Spring 定义 CacheManager 和 Cach
- TTL简介TTL 是什么呢?TTL 是 RabbitMQ 中一个消息或者队列的属性,表明一条消息或者该队列中的所有消息的最大存活时间,单位是
- Chart控件可以用来绘制波形图、柱状图、饼图、折线图等,用来进行数据表现是很不错的,现在简单说一下这个控件的使用方法XAML:<Wi
- 题目我们可以用2×1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2×1的小矩形无重叠地覆盖一个2×n的大矩形,总共有多少种方法?程序核心
- 1. 问题描述springboot的面世,成为Java开发者的一大福音,大大提升了开发的效率,其实springboot只是在maven的基础
- 本文实例讲述了Android编程实现将ButtonBar放在屏幕底部的方法。分享给大家供大家参考,具体如下:前面一篇《Android编程实现
- 基础环境SpringBoot、Maven代码实现1.添加依赖<!--二维码生成 --><dependency&
- 混合开发简介使用Flutter从零开始开发App是一件轻松惬意的事情,但对于一些成熟的产品来说,完全摒弃原有App的历史沉淀,全面转向Flu
- 什么是NIO?线程在处理数据时,如果线程还处于将数据从channel读到buffer的这段时间内,线程可以去做别的事情,等数据都读到buff
- 一.介绍门面模式(Facade Pattern)属于结构型模式。门面模式又叫作外观模式,通过给多个复杂的子系统提供一个门面(高层接口),使这
- 一、TPHTable Per Hierarchy (默认,每个层次一个表)每个层次结构共用一个表,类的每一个属性都必须是可空的。1、默认行为
- 本文就来说一说微信开发第一步,公众号接入以及access_token的管理。一、微信公众号接入在微信公众号开发手册上,关于公众号接入这一节内
- 本文实例为大家分享了Android DialogUtils弹出窗工具类的具体代码,供大家参考,具体内容如下直接上代码吧!!!代码拉过去都可以
- 一、项目简述功能包括(管理员和游客角色):1:用户及主要操作功能 游客可以浏览网站的主页,但是需要注册为会员后部分小 说才能对网络小说进免费
- Flutter中的生命周期类似于Vue、React中的生命周期一样,有初始化、状态更新、停用、销毁等。在React中,组件分为函数式组件和类
- 本文实例为大家分享了Android仿iPhone时间选择器的具体代码,供大家参考,具体内容如下先看效果图如何使用import java.te