2014-09-25 2 views
0

Я пытаюсь использовать сканер для чтения в нескольких строках ввода за раз. Я считаю, что что-то не так с тем, как я использую цикл, или тем, как я читаю информацию. В выходном массиве ничего не хранилось. Я прокомментировал свой вопрос в коде. Кто-то может помочь? Спасибо!java- использовать сканер для чтения и обработки одной информации за один раз

 Scanner c = new Scanner (System.in); 
     while (c.hasNextLine()){ 
      ArrayList <Integer> record= new ArrayList <Integer>(); // next time the while loop runs, I expect the list record to be initialized again 

      String numbers = c.nextLine(); 

      int n = Integer.parseInt(numbers); 
      for (int i=0; i<n; i++){ 
       String info = c.nextLine();//then read the following n lines use for loop 

       int length = info.length(); //get the length of each line 
       record.add(length); 
      }  

      putRecordinArray(record);//some other function to process each record(a block of several lines processed each time by the while loop) 
      } 
    //here I tried to print out the array A generated by other function, but nothing was stored. 
    } 
+0

Итак, проблема в методе 'putRecordInArray()'? – Shadow

ответ

0

Ваше Список_массивов имя records но вы вызываете его с record, который records without the 's'. Вы have to add the 's'. Пример одного из ваших вызывающих операторов.

record.add(length); 

изменение:

records.add(length); 

также:

putRecordinArray(record); 

изменение:

putRecordinArray(records); 

Надеется, что это помогает.