12 BMI计算器

BMI计算题(半成品)

运行截图

 

 

 

 

代码:

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/textView6"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/BmiTitle"
        android:textSize="24sp" />

    <EditText
        android:id="@+id/editHeight"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:hint="@string/BodyHeight"
        android:inputType="numberDecimal" />

    <EditText
        android:id="@+id/editWeight"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:hint="@string/BodyWeight"
        android:inputType="numberDecimal" />

    <RadioGroup
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <RadioButton
            android:id="@+id/rbtnStdWho"
            android:layout_width="137dp"
            android:layout_height="wrap_content"
            android:text="@string/STD_WHO" />

        <RadioButton
            android:id="@+id/rbtnStdAsia"
            android:layout_width="137dp"
            android:layout_height="match_parent"
            android:text="@string/STD_ASIA" />

        <RadioButton
            android:id="@+id/rbtnStdChn"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/STD_CHINA" />
    </RadioGroup>

    <RadioGroup
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <RadioButton
            android:id="@+id/radioButton5"
            android:layout_width="137dp"
            android:layout_height="wrap_content"
            android:text="@string/LbIDisplayBMI" />

        <RadioButton
            android:id="@+id/radioButton6"
            android:layout_width="137dp"
            android:layout_height="wrap_content"
            android:text="@string/LbIDisplayReslut" />

        <RadioButton
            android:id="@+id/radioButton7"
            android:layout_width="137dp"
            android:layout_height="wrap_content"
            android:text="@string/LbIDisplayBoth" />
    </RadioGroup>

    <TextView
        android:id="@+id/txtResult"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/Result"
        tools:text="@string/Result" />

    <Button
        android:id="@+id/btnBmiCalc"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="计算" />

</LinearLayout>

 

MainActivity.java

package com.example.helloworld;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button btnBmiCalc = (Button)findViewById(R.id.btnBmiCalc);
        btnBmiCalc.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v){
                EditText editHeight = (EditText)findViewById(R.id.editHeight);
                EditText editWeight = (EditText)findViewById(R.id.editWeight);
                TextView txtResult = (TextView)findViewById(R.id.txtResult);
                Double height = Double.parseDouble(editHeight.getText().toString());
                Double weight = Double.parseDouble(editWeight.getText().toString());
                Double bmi = weight/(height * height);
                RadioButton rbtnStdWho = (RadioButton)findViewById(R.id.rbtnStdWho);
                RadioButton rbtnStdAsia = (RadioButton)findViewById(R.id.rbtnStdAsia);
                RadioButton rbtnStdChn = (RadioButton)findViewById(R.id.rbtnStdChn);
                if(rbtnStdWho.isChecked()){
                    if(bmi<18.5){
                        txtResult.setText("BMI:"+bmi.toString() + "体型:过轻");
                    }
                    else if(bmi<=24.9){
                        txtResult.setText("BMI:"+bmi.toString() + "体型:正常");
                    }
                    else if(bmi<=29.9){
                        txtResult.setText("BMI:"+bmi.toString() + "体型:过重");
                    }
                    else if(bmi<=34.9){
                        txtResult.setText("BMI:"+bmi.toString() + "体型:肥胖");
                    }
                    else{
                        txtResult.setText("BMI:"+bmi.toString() + "体型:非常肥胖");
                    }

                }
                else if(rbtnStdAsia.isChecked()){
                    if(bmi<18.5){
                        txtResult.setText("BMI:"+bmi.toString() + "体型:过轻");
                    }
                    else if(bmi<=23.9){
                        txtResult.setText("BMI:"+bmi.toString() + "体型:正常");
                    }
                    else if(bmi<=27){
                        txtResult.setText("BMI:"+bmi.toString() + "体型:过重");
                    }
                    else if(bmi<=32){
                        txtResult.setText("BMI:"+bmi.toString() + "体型:肥胖");
                    }
                    else{
                        txtResult.setText("BMI:"+bmi.toString() + "体型:非常肥胖");
                    }

                }
                else if(rbtnStdChn.isChecked()){
                    if(bmi<18.5){
                        txtResult.setText("BMI:"+bmi.toString() + "体型:过轻");
                    }
                    else if(bmi<=23.9){
                        txtResult.setText("BMI:"+bmi.toString() + "体型:正常");
                    }
                    else if(bmi<=27.9){
                        txtResult.setText("BMI:"+bmi.toString() + "体型:过重");
                    }
                    else{
                        txtResult.setText("BMI:"+bmi.toString() + "体型:非常肥胖");
                    }

                }
                else{
                    txtResult.setText("请选择BMI标准");
                }
            }
        });

    }


}

 

posted @ 2021-01-23 23:00  不会编程的肉蛋葱鸡  阅读(98)  评论(0编辑  收藏  举报