Android 简单应用-身高体重指数(BMI)计算一

来源:互联网 发布:网络电视剧十大排行榜 编辑:程序博客网 时间:2024/04/28 21:40

BMI值得算法是“体重除以身高的平方”。

程序的主体:

package com.example;import java.text.DecimalFormat;import android.view.View;import android.view.View.OnClickListener;import android.app.Activity;import android.os.Bundle;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;public class EXAMPLEActivity extends Activity {    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);    Button button=(Button)findViewById(R.id.submit);     button.setOnClickListener(calBMI);    }     private OnClickListener calBMI=new OnClickListener(){     public void onClick(View v){ DecimalFormat nf=new DecimalFormat("0.00"); EditText fieldheight=(EditText)findViewById(R.id.height); EditText fieldweight=(EditText)findViewById(R.id.weight); double height=Double.parseDouble(fieldheight.getText().toString())/100; double weight=Double.parseDouble(fieldweight.getText().toString()); double BMI=weight/(height*height); TextView result=(TextView)findViewById(R.id.result); result.setText("Your BMI is"+nf.format(BMI));  TextView fieldsuggest=(TextView)findViewById(R.id.suggest); if(BMI>25){ fieldsuggest.setText(R.string.advice_heavy); }else if(BMI<20){ fieldsuggest.setText(R.string.advice_light); } else{ fieldsuggest.setText(R.string.advice_average); }      }  };}
strings.xml

<?xml version="1.0" encoding="utf-8"?>  //每个XML说明文档固定的开头内容<resources>    <string name="app_name">BMI</string>    <string name="height">身高(cm)</string>    <string name="weight">体重(kg)</string>    <string name="bmi_btn">计算BMI的值</string>    <string name="advice_heavy">你偏重</string>    <string name="advice_light">你偏瘦</string>    <string name="bmi_result">你的BMI的值是</string>    <string name="advice_average">很标准</string></resources>
main.xml
<?xml version="1.0" encoding="utf-8"?>          //描述用户界面的<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" //线性页面布局    android:orientation="vertical"  //页面走向           android:layout_width="fill_parent"    android:layout_height="fill_parent"    ><TextView      android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:text="@string/height"    /><EditText     android:id="@+id/height"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:inputType="numberDecimal"    android:text=""    /><TextView      android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:text="@string/weight"    /><EditText     android:id="@+id/weight"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:numeric="integer"    android:text=""    /><Button     android:id="@+id/submit"     android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:text="@string/bmi_btn"     /><TextView      android:id="@+id/result"     android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:text=""/> <TextView      android:id="@+id/suggest"     android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:text=""/>        </LinearLayout>

运行了一下,截图:


填入数据,出错了,不明白,


找出原因了,是在strings.xml文件里面,不能把某些东西写在一起,在res/values目录中新建一个“advice.xml”文件,string里面负责显示的那部门。修改如下

strings.xml

<?xml version="1.0" encoding="utf-8"?>  //每个XML说明文档固定的开头内容<resources>    <string name="app_name">BMI</string>    <string name="height">身高(cm)</string>    <string name="weight">体重(kg)</string>    <string name="bmi_btn">计算BMI的值</string>    <string name="bmi_result">你的BMI的值是</string></resources>
advice.xml

<?xml version="1.0" encoding="utf-8"?><resources>    <string name="advice_heavy">你偏重</string>    <string name="advice_light">你偏瘦</string>    <string name="advice_average">很标准</string></resources>
这样就搞定了,私底下还有很多问题,没搞清楚,起码这是一个美好的开始。


原创粉丝点击