Java代码
package com.example.work1;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.TextView;
public class HeightCalculatorActivity extends Activity {
private Button calculatorButton;
private EditText weightEditText;
private EditText heightEditText;
private CheckBox manCheckBox;
private CheckBox womanCheckBox;
private TextView resultTextView;
private EditText nameEditText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.work);
calculatorButton = (Button) findViewById(R.id.caculator);
weightEditText = (EditText) findViewById(R.id.weight);
heightEditText = (EditText) findViewById(R.id.height);
manCheckBox = (CheckBox) findViewById(R.id.man);
womanCheckBox = (CheckBox) findViewById(R.id.woman);
resultTextView = (TextView) findViewById(R.id.result);
nameEditText=findViewById(R.id.name);
}
protected void onStart() {
super.onStart();
registerEvent();
}
private void registerEvent() {
calculatorButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if (!weightEditText.getText().toString().trim().equals("")) {
if (manCheckBox.isChecked() || womanCheckBox.isChecked()) {
if (!heightEditText.getText().toString().trim().equals("")) {
Double weight = Double.parseDouble(weightEditText.getText().toString());
Double height = Double.parseDouble(heightEditText.getText().toString());
String name=nameEditText.getText().toString();
StringBuffer sb = new StringBuffer();
sb.append("评估结果\n");
if (manCheckBox.isChecked()) {
double result = evaluateweight(height, weight);
if (result < 25 && result >= 18) {
sb.append(name+"先生,您的体重很正常");
} else if (result < 18) {
sb.append(name+"先生,您的体重偏低,需要多吃一点噢");
} else if (result >= 25 && result < 30) {
sb.append(name+"先生,您已超重,请多运动少吃肉");
} else if (result >= 30 && result < 35) {
sb.append(name+"先生,您为轻度肥胖,一定要加强锻炼");
} else if (result >= 35 && result < 40) {
sb.append(name+"先生,您是中度肥胖,请加强锻炼");
} else if(result>=40){
sb.append(name+"先生,您也太胖了吧,您是重度肥胖");
}
}
if (womanCheckBox.isChecked()) {
double result = evaluateweight(height, weight);
if (result < 25 && result >= 18) {
sb.append(name+"女士,您的体重很正常");
} else if (result < 18) {
sb.append(name+"女士,您的体重偏低,需要多吃一点噢");
} else if (result >= 25 && result < 30) {
sb.append(name+"女士,您已超重,请多运动少吃肉");
} else if (result >= 30 && result < 35) {
sb.append(name+"女士,您为轻度肥胖,一定要加强锻炼");
} else if (result >= 35 && result < 40) {
sb.append(name+"女士,您是中度肥胖,请加强锻炼");
} else {
sb.append(name+"女士,您也太胖了吧,您是重度肥胖");
}
}
resultTextView.setText(sb.toString());
} else {
showMessage("请输入身高");
}
} else {
showMessage("请选择性别");
}
} else {
showMessage("请输入体重");
}
}
});
}
private double evaluateweight(double height, double weight) {
double res;
res = weight / (height * height);
return res;
}
private void showMessage(String message)
{
AlertDialog alert=new AlertDialog.Builder(this).create();
alert.setTitle("系统信息");
alert.setMessage(message);
alert.setButton("确定",new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog,int whichButton)
{
}
});
alert.show();//显示窗口
}
public boolean onCreateOptionsMenu(Menu menu){
menu.add(Menu.NONE,1,Menu.NONE,"退出");
return super.onCreateOptionsMenu(menu);
}
public boolean onOptionsItemSelected(MenuItem item)
{
switch(item.getItemId()){
case 1:
finish();
break;
}
return super.onOptionsItemSelected(item);
}
}
xml代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="@mipmap/kebe">
<LinearLayout
android:id="@+id/linearLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20.0dip"
android:gravity="center_horizontal"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="个人体重指数计算器"
android:textSize="22dp"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10.0dip"
android:orientation="horizontal">
<TextView
android:layout_width="120dip"
android:layout_height="wrap_content"
android:layout_marginLeft="5dip"
android:text="请输入你的姓名:"
android:textSize="14sp" />
<EditText
android:id="@+id/name"
android:layout_width="150.0dip"
android:layout_height="wrap_content"
android:inputType="text" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10.0dip"
android:orientation="horizontal">
<TextView
android:layout_width="120dip"
android:layout_height="wrap_content"
android:layout_marginLeft="5dip"
android:text="请输入你的体重:"
android:textSize="14sp" />
<EditText
android:id="@+id/weight"
android:layout_width="150.0dip"
android:layout_height="wrap_content"
android:inputType="number|numberDecimal" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="kg" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10.0dip"
android:orientation="horizontal">
<TextView
android:layout_width="120dip"
android:layout_height="wrap_content"
android:layout_marginLeft="5dip"
android:text="请输入你的身高:"
android:textSize="14sp" />
<EditText
android:id="@+id/height"
android:layout_width="150.0dip"
android:layout_height="wrap_content"
android:inputType="number|numberDecimal" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="m" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="horizontal">
<TextView
android:layout_width="120.0dip"
android:layout_height="wrap_content"
android:layout_marginLeft="5.0dip"
android:text="请选择您的性别" />
<CheckBox
android:id="@+id/man"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="男">
</CheckBox>
<CheckBox
android:id="@+id/woman"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女">
</CheckBox>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="horizontal">
<Button
android:id="@+id/caculator"
android:layout_width="200.0dip"
android:layout_height="wrap_content"
android:text="运算" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/result"
android:layout_marginTop="10.0dip"
android:textColor="#FF00FF"
android:textSize="20dp"/>
</LinearLayout>
</LinearLayout>
实验样例:
实验心得:
Java的文件名要改的和类名一致,好久没做都忘了,还有一些很粗心导致的弱智错误,就这样吧。啪啪啪。
版权声明:本文为weixin_45491054原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。