Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java循环中的列表列表_Java_List_Loops_For Loop_Arraylist - Fatal编程技术网

Java循环中的列表列表

Java循环中的列表列表,java,list,loops,for-loop,arraylist,Java,List,Loops,For Loop,Arraylist,我有问题。我试着去做 程序多次向我询问一些数字。我给出一个数字清单。我尝试将它们保存在列表>。数字可以按空格分割。现在我有了这个代码: import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class TimeSeries { public static void main(String[] args) { // TODO Auto-generated method stu

我有问题。我试着去做 程序多次向我询问一些数字。我给出一个数字清单。我尝试将它们保存在列表>。数字可以按空格分割。现在我有了这个代码:

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class TimeSeries {

public static void main(String[] args) {
    // TODO Auto-generated method stub

    System.out.println("Numbers of rows:");
    Scanner in = new Scanner(System.in);
    int NumberLines = in.nextInt();
    in.nextLine();
    String Ciag;
    List<List<Integer>> ll = new ArrayList<List<Integer>>();
    List<Integer> list = new ArrayList<Integer>();
    for (int i = 0; i < NumberLines; i++) {
        list.clear();
        System.out.println("Add row " +(i+1));
        Ciag = in.nextLine();
        for (int t=0; t<Ciag.length(); t++) {

            if(Character.isWhitespace(Ciag.charAt(t)))
            {

            }
            else
            {list.add(Character.getNumericValue(Ciag.charAt(t)));
            }

        }

        System.out.println(list);
        ll.add(list);
        }

    System.out.println(ll);

}


    }

但是我需要有[[0,0,0],[1,2,3],[5,4,6,8]]

问题是您多次将相同的
列表添加到
ll
中。 您需要添加不同的列表以获得所需的行为。 为此,您需要在
For
循环的每次迭代中创建一个新的列表,而不是清除和重用现有的
列表

更改这些行:

List ll=new ArrayList();
列表=新的ArrayList();
for(int i=0;i
为此:

List<List<Integer>> ll = new ArrayList<>();
for (int i = 0; i < NumberLines; i++) {
    List<Integer> list = new ArrayList<>();
List ll=new ArrayList();
for(int i=0;i
您正在重用
列表
引用,因此多次添加了相同的
列表
。请勿重用引用。
List<List<Integer>> ll = new ArrayList<List<Integer>>();
List<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < NumberLines; i++) {
    list.clear();
List<List<Integer>> ll = new ArrayList<>();
for (int i = 0; i < NumberLines; i++) {
    List<Integer> list = new ArrayList<>();