童真模式启动 2017-10-13 02:34 采纳率: 0%
浏览 1011
已采纳

ADT中,下面一段Android代码中的if判断句前两个if为什么始终不执行(结果始终"偏旁")?

图片说明

MainActivity.java

 package com.example.a;

import javax.security.auth.PrivateCredentialPermission;

import android.app.Activity;
import android.content.DialogInterface;
//import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import android.view.View.OnClickListener;                       /*与"import android.content.DialogInterface.OnClickListener;"冲突*/

public class MainActivity extends Activity {

    EditText shengao,tizhong;
    Button jisuan,quxiao;
    double height=0;
    double weight=0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.fragment_main);

        shengao=(EditText)findViewById(R.id.shengao);
        tizhong=(EditText)findViewById(R.id.tizhong);
        jisuan=(Button)findViewById(R.id.jisuan);
        quxiao=(Button)findViewById(R.id.quxiao);

        jisuan.setOnClickListener(new View.OnClickListener() {  //导入"import android.view.View.OnClickListener;"后无需加"View"

            @Override
            public void onClick(View v) {
                try{
                    if("".equals(shengao.getText().toString()))
                  //if("".equals(shengao.getText().toString().trim()))
                  //if(shengao.getText()==null || "".equals(shengao.getText().toString().trim()))
                    {
                        shengao.setError("身高不得为空");
                    }
                    if("".equals(shengao.getText().toString().trim()))
                    {
                        tizhong.setError("体重不能为空");
                    }

                    if("".equals(shengao.getText().toString()))
                  //if("".equals(shengao.getText().toString().trim()))
                  //if(shengao.getText()!=null && "".equals(shengao.getText().toString().trim()))
                    {
                        height=Double.parseDouble(shengao.getText().toString());
                    }
                    if(tizhong.getText()!=null && "".equals(tizhong.getText().toString().trim()))
                    {
                        weight=Double.parseDouble(tizhong.getText().toString());
                    }

                    //double bmi=weight*10000/height/height;
                    double bmi=weight/(height*height);
                    //Toast.makeText(MainActivity.this, ""+bmi, 10000);
                    if(bmi<18)
                    {
                        Toast.makeText(MainActivity.this, "您身材偏瘦, 请加强营养",3000).show();
                    }
                    else if(bmi<=25)
                    {
                        Toast.makeText(MainActivity.this, "您身材标准, 请继续保持",3000).show();
                    }
                    else
                    {
                        Toast.makeText(MainActivity.this, "您身材偏胖, 请加强锻炼",3000).show();

                    }
                }

                catch(NumberFormatException e)
                {
                    Toast.makeText(MainActivity.this, "身高或体重必须是数字", 3000).show();
                    e.printStackTrace();
                }
            }
        });


        quxiao.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                shengao.setText("");
                tizhong.setText("");
            }
        });

    }

}

fragment_main.xml

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="身高" />

    <EditText
        android:id="@+id/shengao"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10" >

        <requestFocus />
    </EditText>

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="体重" />

    <EditText
        android:id="@+id/tizhong"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10" />

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

    <Button
        android:id="@+id/quxiao"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="取消" />

</LinearLayout>
  • 写回答

5条回答 默认 最新

  • Tauren2614 2017-10-13 06:04
    关注

    height,weight赋值地方的判断条件写反了

    if("".equals(shengao.getText().toString())) 这个判断条件前面要加个非吧,不为空的时候,你这是为空的时候执行呀

    下面体重的那个不为空判断条件也一样

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵