空输入的打印错误

时间:2013-12-31 14:00:32

标签: java android

我正在尝试为android做一个计算器应用程序,我为两个数字输入两个输入并输出结果及其功能(即加法或减法......)。

public void Add(View view)
{
    float a=0,b=0,res=0;
    EditText num1 = (EditText) findViewById(R.id.editText1);
    EditText num2 = (EditText) findViewById(R.id.editText2);
    TextView function = (TextView) findViewById(R.id.textView4);
    TextView ans = (TextView) findViewById(R.id.textView5);
    a=Float.parseFloat(num1.getText().toString());
    b=Float.parseFloat(num2.getText().toString());
    String str1 = Float.toString(a);
    String str2 = Float.toString(b);
    if(str1=="")
    {
        function.setText("Enter both Numbers");
        ans.setText("");
        return;
    }
    if(str2=="")
    {
        function.setText("Enter both Numbers");
        ans.setText("");
        return; 
    }
    res=a+b;
    String str = Float.toString(res);
    function.setText("addition");
    ans.setText(str);
}

所以这就是我在做的事情。我接受2个输入。将它们转换为浮点变量a和b。现在我的问题是,如果用户没有输入输入并尝试解决方案,那么我必须产生一些错误,说'输入两个数字'。如上所述它不起作用。

也不是以这种方式运作

if(str1=='\0')
{
    function.setText("Enter both Numbers");
    ans.setText("");
    return;
}

当输入为零时会产生错误。

因此,请帮助确定是否没有给出输入并在那时产生错误。

2 个答案:

答案 0 :(得分:2)

在转换为Float之前进行测试。

您的测试必须是这样的事情:

 if (num1.getText().toString().trim().isEmpty()){
    // show error
 }

答案 1 :(得分:0)

使用:

if(str1==null || str1.trim().equals(""))