if else语句带子串

时间:2013-03-10 22:15:07

标签: java if-statement substring

我正在尝试制作一个if else语句,其中中间值查看子字符串中的第4个数字是否为整数,如果它是我想要在数字前面的负数,如果不是我不想要的话在前面消​​极。错误即时获取是在其他行如果它需要一个布尔值并找到一个int如何解决这个问题,否则如果行检查子字符串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";
    }

1 个答案:

答案 0 :(得分:4)

您检查单个字符为数字的方式不是Integer.parseInt(一个返回,int,而不是boolean。您改为使用Character.isDigit

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

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