2015-03-20 4 views
-2

У меня есть ошибка здесь с добавлением пространства в целочисленный массив. Результат работает отлично, но с ошибкой исключения исключения. Интересно, как я могу это решить?Parse String, содержащий пространство в целочисленном массиве

Exception in thread "main" java.lang.NumberFormatException: For input string: " " 
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) 
    at java.lang.Integer.parseInt(Integer.java:569) 
    at java.lang.Integer.parseInt(Integer.java:615) 
    at menu.main(menu.java:167) 
+1

В чем Ваш вопрос? – NDY

+0

И какое количество будет '' '' представлять ?. Покажите нам ввод – TheLostMind

+0

Привет, все. У меня есть ошибка здесь с добавлением пространства в целочисленный массив. Результат работает отлично, но с ошибкой исключения исключения. Интересно, как я могу это решить? – Executor345

ответ

-2
Integer.parseInt(" "); // you are passing empty string to parse function. 

int value; 
if(!stringValue.trim().equals("")){ 
    value=Integer.parseInt(stringValue); 
} 
else{ 
// assign the 0 value of whatever suits your requirements 
} 
+1

Вопрос пока не ясен, как вы можете написать ответ? – Apurva

+0

@Apurva довольно очевидно из-за исключения. –

+0

@DanyalSandeelo Вы решили мою проблему. Благодаря! Это было великолепно! – Executor345

1

Я думаю, что это то, что вы ищете:

public static void main(String[] args) { 
    String s="0 1 0 1 1 1 0"; 
    System.out.println(Arrays.toString(s.split("\\s+"))); 
} 

O/P:

[0, 1, 0, 1, 1, 1, 0] 
0
List<String> output = new ArrayList<String>(); 
for(String stringToAdd : youString.split(" ")) 
    output.add(Integer.parseInt(stringToAdd)); 
0

как это?

public static void main(String[] args) { 
    String s = "3 4 6 78 a 8 9"; 
    String[] ss = s.split(" "); 
    List<Integer> list = new ArrayList<Integer>(); 
    for (int i = 0; i < ss.length; i++) { 
     try { 
      int val = Integer.valueOf(ss[i]); 
      list.add(val);   
     } catch (NumberFormatException e) { 
      System.err.println(ss[i] + " is not a number"); 
     } 

    } 
    list.toArray(); 
}