2013-03-10 109 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