2014-04-28 4 views
0

Я получаю сообщение об ошибке, когда пытаюсь включить '[' и ']' в свою коллекцию, если элементы разделены. Я пробовал несколько разных вариантов, например «\\ [», но все еще не работает. Кажется, у меня проблема с моим parseInt с тем, что я пытаюсь. Он отлично работает только с запятой ex: 1,12,12,13, но когда я пытаюсь добавить и использовать [] ex: [1,12,12,13], я сталкиваюсь с проблемами. Спасибо!Разделение между [, и]

import java.io.IOException; 
import java.util.Scanner; 


public class lineStats { 
public static void main(String[] args) throws IOException { 
String text; 
    Scanner scan = new Scanner(System.in); 
    text = scan.nextLine(); 
    String[] numbers = text.split(","); 
     int[] answer = new int[numbers.length]; 
     int num = 0; 
for (int i = 0; i < numbers.length; i++){ 
    answer[i] = Integer.parseInt(numbers[i]); 
       } 
for(int k=0;k<numbers.length;k++){ 
    if(answer[k]>10){ 
    num=num+1; 
    } 
} 
System.out.println(num); 
} 
} 
+0

Кажется, что ваше описание и код противоречивы. Пожалуйста, сообщите нам, каков ваш ввод и каков ваш желаемый результат. – niiraj874u

ответ

0

Самый простой способ вырезать все нецифровые:

answer[i] = Integer.parseInt(numbers[i].replaceAll("\\D", "")); 
0

вы должны сначала удалить [ и ] от линии, а затем разделить его:

text = scan.nextLine(); 
text = text.replaceAll("\\[|\\]",""); 
... 
0

попробовать простой заменить на вход Строка

text = scan.nextLine().replace ("[").replace ("]"); 
String[] numbers = text.split(","); 
1

Перед разделением строки вы можете использовать replaceAll, как показано ниже

text = text.replaceAll ("(\ [| \])", "");

Смежные вопросы