0

次のコードは実行されず、次の行に数値形式の例外がスローされ続けます。エラーは「スレッド「メイン」の例外」java.lang.NumberFormatException:入力文字列の場合:「SAN1905 1808 + 24 1512 + 17 1209 + 10 1708 -06 2016-16 211831 211941 192652 "" "

intAlt = Integer.parseInt(strAlt);

なぜこれが起こっているのかわからないので、この問題についてアドバイスをいただければ幸いです。

private int getPos(String strAlt)
{
 int intAlt;
 int intPos =0;
 intAlt = Integer.parseInt(strAlt);
 switch (intAlt)
 {
  case 3:
   intPos = 4;
   break;
  case 6:
   intPos = 9;
   break;
  case 9:
   intPos = 17;
   break;   
  case 12:
   intPos = 25;
   break;
  case 18:
   intPos = 33;
   break;   
  case 24:
   intPos = 41;
   break; 
  case 30:
   intPos = 49;
   break;   
  case 34:
   intPos = 56;
   break;   
  case 39:
   intPos = 63;
   break;  
 }
 return intPos;
}
4

1 に答える 1

0

「SAN19051808+ 24 1512 + 17 1209 + 10 1708-06 2016-16 211831 211941 192652」をgetPos(String strAlt)に渡すと、次のように実行されます。

intAlt = Integer.parseInt(strAlt);

もちろん、例外をスローします。 このドキュメントを参照してください

于 2013-03-10T01:34:52.557 に答える