我开发了一个应用程序,其中微调器包含add,sub,mul& div ...但结果始终为零。当点击按钮时,我如何开发应用程序解决的计算取决于微调器的选定值。代码低于::
public void Select(View view)
{
TextView txt1=(TextView)findViewById(R.id.editText1);
TextView txt2=(TextView)findViewById(R.id.editText2);
int x=Integer.parseInt(txt1.getText().toString());
int y=Integer.parseInt(txt2.getText().toString());
Spinner spin1=(Spinner)findViewById(R.id.spinner1);
String spin_value= spin1.getItemAtPosition(spin1.getSelectedItemPosition()).toString();
if(spin_value=="Add")
{
int z=x+y;
String addvalue=String.valueOf(z);
Toast.makeText(this, addvalue, Toast.LENGTH_LONG).show();
}
else if (spin_value=="Sub")
{
int p=x-y;
String subvalue=String.valueOf(p);
Toast.makeText(this, subvalue, Toast.LENGTH_LONG).show();
}
else if (spin_value=="Mul")
{
int k=x*y;
String mulvalue=String.valueOf(k);
Toast.makeText(this, mulvalue, Toast.LENGTH_LONG).show();
}
else
{
int g=x/y;
String divvalue=String.valueOf(g);
Toast.makeText(this, divvalue, Toast.LENGTH_LONG).show();
}
}
}
答案 0 :(得分:0)
Bob Kaufman的评论是正确的。根据您所做的比较,您正在落入else
声明。要比较Java中的字符串,您应该使用equals(Object o)
或equalsIgnoreCase
方法,而不是==
,除非您想确定被比较的字符串是否是同一个对象。
最重要的是,由于我们无法看到您正在使用的getItemAtPosition
类型,因此SpinnerAdapter
返回的内容并不十分清楚。因此,首先进行String
比较可能不合适。
就像Bob一样,我怀疑你因为整数除法而得到0。如果你把txt1中的100,比如40,txt2,我猜你的Toast会读2
。