0

我正在尝试制作一个 if else 语句,其中中间值查看子字符串中的第 4 位是否是整数. 我得到的错误在 else if 行上,它需要一个布尔值并找到一个 int 我该如何解决这个问题,所以 else if 行检查子字符串 4 是否是一个 int?

 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

1 回答 1

4

检查单个字符是否为数字的方式不是使用Integer.parseInt(返回, an int,而不是 a boolean)。你Character.isDigit改用:

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

请注意,它正在检查索引 4 处的字符,这是第五个字符(初始字符位于索引 0,而不是 1)。

于 2013-03-10T22:17:36.220 回答