我正在尝试为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;
}
当输入为零时会产生错误。
因此,请帮助确定是否没有给出输入并在那时产生错误。
答案 0 :(得分:2)
在转换为Float之前进行测试。
您的测试必须是这样的事情:
if (num1.getText().toString().trim().isEmpty()){
// show error
}
答案 1 :(得分:0)
使用:
if(str1==null || str1.trim().equals(""))