2013-03-10 2 views
0

중간 값이 숫자 앞에 네거티브가 필요한 경우 하위 문자열의 네 번째 숫자가 정수인지 확인하는 if else 문을 작성하려고합니다. 그게 아니라면 전방에 부정적인 것을 원하지 않을거야. 오류 메신저가 else에 있습니다. if line이 부울을 필요로하고 int를 찾습니다. 서브 문자열 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

당신이 자리 (하나가 다시 표시 int 아닌 boolean) Integer.parseInt하지입니다 될 수있는 하나의 문자를 확인하는 방법. 대신 Character.isDigit 사용이 다섯 번째 문자 인덱스 4에있는 문자를 확인 있다고

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

주 (초기 문자 인덱스 제로가 아닌 하나입니다).

+0

문제가 해결되었습니다. :) –