我的Android应用程序在if语句期间崩溃,我找不到错误。

这是我的代码段,我该如何解决?

    public String formatResult(String inVal) {

         String tmp = inVal.substring(inVal.length() - 2, inVal.length());

         if (tmp.equals(".0") == true){

             return inVal.substring(inVal.length(),inVal.length()-2);
         } else {

             return inVal;
         }
    }

最佳答案

“ inVal”可以少于2个字符。调试项目并观察inVal,无论如何都要放置if语句来控制inVal是否长于2。

你可以改变:

if (tmp.equals(".0") == true)


至:

if (tmp.equals(".0")){


另一件事是,您是否真的想返回:

inVal.substring(inVal.length(),inVal.length()-2);


或者您想返回:

inVal.substring(inVal.length()-2, inVal.length());


EndIndex不能小于StartIndex。如果要从头到尾开始2:

string a;
for(int i = inVal.length; i>=inVal.length-2; i--) {
    a += inVal.charAt(i);
}


这应该工作。

09-28 11:59