Ona by to možná ani tak velká díra nebyla, protože zpracovává jen číselné vstupy z aplikace.
Nelze do ní vložit vlastní kódy.
Teďka to mám takto:
String st = display1.getText().toString();
float result = 0;
for(int i=0;i<st.length();i++)
{
if(st.charAt(i)=='+')
{
result=Float.parseFloat(st.substring(0, i))+Float.parseFloat(st.substring(i+1, st.length()));
}
if(st.charAt(i)=='-')
{
result=Float.parseFloat(st.substring(0, i))-Float.parseFloat(st.substring(i+1, st.length()));
}
if(st.charAt(i)=='*')
{
result=Float.parseFloat(st.substring(0, i))*Float.parseFloat(st.substring(i+1, st.length()));
}
if(st.charAt(i)=='/')
{
result=Float.parseFloat(st.substring(0, i))/Float.parseFloat(st.substring(i+1, st.length()));
}
}
display1.setText(Float.toString(result));
Ale má to nevýhodu, že jak tam někdo napíše více, jak dva operandy - např. 2+3-6 tak to spadne