2013-03-10 108 views
0

我试图做一个if else语句,其中中间值看起来是否在子字符串中的第4个数字是一个整数,如果它是我想在数字前面的负数如果它不是我想在前面没有负面的话。我得到的错误是在其他线如果它需要一个布尔值,并找到一个整数我怎么能解决这个问题,否则如果线检查如果子字符串4是一个int?如果else语句与子字符串

if (strAlt.equals("03")) 
    { 
     return "N/A"; 
    } 
    else if (Integer.parseInt(strPos.substring(4))) 
    { 
     return "-" +strPos.substring(4,7) + "C";   
    }  
    else 
    { 
     return strPos.substring(4,7) + "C"; 
    } 

回答

4

您检查一个字符是数字是不是Integer.parseInt(即一个回报,一个int,而不是boolean)的方式。您可以使用Character.isDigit代替:

else if (strPos.length() > 4 && Character.isDigit(strPos.charAt(4))) 

注意,它的检查字符在指数4,这是第五个字符(初始字符在指数为零,没有之一)。

+0

修复了这个问题谢谢:) – 2013-03-10 22:20:49