0

我正在尝试使用扫描仪一次读取多行输入。我认为我使用循环的方式或读取信息的方式有问题。输出数组中没有存储任何内容。我在代码中评论了我的问题。有人可以帮忙吗?谢谢!

        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. 
    }
4

1 回答 1

0

您的 Arraylist 名称是records,但您使用recordwhich is来调用它records without the 's'。你have to add the 's'。您的调用语句之一的示例。

record.add(length);

改成:

records.add(length);

还:

putRecordinArray(record);

改成:

putRecordinArray(records);

希望这可以帮助。

于 2014-09-25T10:19:18.830 回答