这是代码。
package com.example.bmicalculator;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.EditText;
import android.widget.Button;
import android.view.View;
public class BMICalculatorActivity extends Activity {
private EditText txtheight;
private EditText txtweight;
private TextView txtresult;
private Button btncalculate;
private double bmi = 0;
private double valueheight = 0;
private double valueweight = 0;
private String resulttext;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initControls();
/*TextView tv = new TextView(this);
tv.setText("BMI Calculator");
setContentView(tv);*/
}
private void initControls() {
txtheight = (EditText)findViewById(R.id.txtheight);
txtweight = (EditText)findViewById(R.id.txtweight);
txtresult = (TextView)findViewById(R.id.txtresult);
btncalculate = (Button)findViewById(R.id.btncalculate);
//btnreset = (Button)findViewById(R.id.btnreset);
btncalculate.setOnClickListener(new Button.OnClickListener() { public void onClick (View v){ calculate(); }});
//btnreset.setOnClickListener(new Button.OnClickListener() { public void onClick (View v){ reset(); }});
}
private void calculate() {
valueheight =Double.parseDouble(txtheight.getText().toString());
valueweight =Double.parseDouble(txtweight.getText().toString());
bmi = (valueweight / (valueheight * valueheight));
//txttipamount.setText(Double.toString(bmi));
if (bmi >= 30) { /* obese */
resulttext = "Your BMI of " + Double.toString(bmi) + " is OBESE.";
txtresult.setText(resulttext);
} else if (bmi >= 25) {
resulttext = "Your BMI of " + Double.toString(bmi) + " is OVERWEIGHT.";
txtresult.setText(resulttext);
} else if (bmi >= 18.5) {
resulttext = "Your BMI of " + Double.toString(bmi) + " is IDEAL.";
txtresult.setText(resulttext);
} else {
resulttext = "Your BMI of " + Double.toString(bmi) + " is UNDERWEIGHT.";
txtresult.setText(resulttext);
}
}
private void reset()
{
txtresult.setText("Your BMI is unknown.");
txtheight.setText("0");
txtweight.setText("0");
}
}
提前感谢。
答案 0 :(得分:5)
要获得公制的BMI(身体质量指数),您需要将体重(千克)除以身高(米)^ 2。因此,如果您要求以cm为单位的高度,请在进行计算之前将其除以100。例如:
private void calculate() {
valueheight =Double.parseDouble(txtheight.getText().toString());
valueweight =Double.parseDouble(txtweight.getText().toString());
Double valueheightmeters;
valueheightmeters = valueheight / 100; // Converting to meters.
bmi = (valueweight / (valueheightmeters * valueheightmeters));
//txttipamount.setText(Double.toString(bmi));
if (bmi >= 30) { /* obese */
resulttext = "Your BMI of " + Double.toString(bmi) + " is OBESE.";
txtresult.setText(resulttext);
} else if (bmi >= 25) {
resulttext = "Your BMI of " + Double.toString(bmi) + " is OVERWEIGHT.";
txtresult.setText(resulttext);
} else if (bmi >= 18.5) {
resulttext = "Your BMI of " + Double.toString(bmi) + " is IDEAL.";
txtresult.setText(resulttext);
} else {
resulttext = "Your BMI of " + Double.toString(bmi) + " is UNDERWEIGHT.";
txtresult.setText(resulttext);
}
}
希望有所帮助!
答案 1 :(得分:-1)
int dCentimeter = selectedValue; int feetPart =(int)((dCentimeter / 2.54)/ 12); int inchPart =(int)((dCentimeter / 2.54)-(feetPart * 12)); tvMyHeight.setText(feetPart +“'” + inchPenter code hereart +“ \” ft in“);