コードで次のエラーが発生します: java.lang.NumberFormatException
。
m1
式全体を含むメイン文字列用ですs
除算以外の演算子がない場合は、2 番目の数値です。f
除算以外の演算子がない場合は最初の数値f1
除算以外の演算子も存在する場合は最初の番号ですs1
は、除算以外の演算子も存在する場合の 2 番目の数値です。
コードは次のとおりです。
b12.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String s="";
String f="";
String f1="";
String s1="";
int z=m1.length();
int pos,pos1;
for(int i=0;i<z;i++)
{
int m=m1.codePointAt(i);
//Checking for division
if(m==47)
{
// Loop to calculate second number
for(int j=i+1;j<z;j++)
{
int d=m1.codePointAt(j);
if(d!=43||d!=45||d!=42||d!=47)
{
s+=m1;
}
else
{ pos=j;
s1+=m1.substring(pos,z);
break;
}
}
// Loop to calculate first number
for(int j=i-1;j>=0;j--)
{
int d=m1.codePointAt(j);
if(d!=43||d!=45||d!=42||d!=47)
{
f+=m1;
}
else
{ pos1=j;
f1+=m1.substring(0,pos1);
break;
}
}
String rev=new StringBuffer(f).reverse().toString();
float ans=Float.parseFloat(rev)/Float.parseFloat(s);
String e=Float.toString(ans);
if(f1==""&&s1=="")
{
m1=""+e;
}
else
{
m1=""+f1+e+s1;
}
z=m1.length();
e1.setText(m1);
}
}
}
});
}