0

中間値が部分文字列の 4 桁目が整数であるかどうかを確認する if else ステートメントを作成しようとしています。そうでない場合は、数値の前に負の値が必要です 前に負の値がない場合. エラーが発生するのは、ブール値が必要でintを見つけるelse if行にあります。どうすればこれを修正できるので、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返します)。代わりに使用します:intbooleanCharacter.isDigit

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

5番目の文字であるインデックス4の文字をチェックしていることに注意してください(最初の文字はインデックス1ではなく0にあります)。

于 2013-03-10T22:17:36.220 に答える