Исключение числового формата при преобразовании строки

Следующий код не запускается и продолжает выдавать исключение числового формата в строке, ошибка "Исключение в потоке"main" java.lang.NumberFormatException: для входной строки: "SAN 1905 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;
}

1 ответ

Решение

Если вы передадите "SAN 1905 1808+24 1512+17 1209+10 1708-06 2016-16 211831 211941 192652" в getPos(String strAlt), он выполнит:

intAlt = Integer.parseInt(strAlt);

Конечно, это вызовет исключение. Смотрите этот документ

Другие вопросы по тегам