填充Java 2D数组输入

时间:2015-09-27 18:06:59

标签: java arrays input

我试图在2D数组中获取用户输入。如果可能,我不想使用java.util.Arrays

用户输入如下所示,第一个整数是数字,第二个是整数的索引。

3 3
1 2
3 2

这就是我得到的

[3,3,1][2,3,2][][][][]

这就是我想要的

[][1,3][3][][][]
int x = sc.nextInt();
int array[][] = new int[6][x];

for (int i = 0; i < x; i++ ){
    for (int j = 0; j < x; j++) {
        array[i][j] = sc.nextInt();
    }   
}

System.out.println(Arrays.deepToString(array));

1 个答案:

答案 0 :(得分:0)

我希望你的意思是格式:

number index_to_add

这并不简单,因为你不知道开始时阵列中有多少个数字。

我会使用像ArrayList

这样的集合

如果你真的想只使用数组,你必须有一个上限。

ArrayList版本:

ArrayList<Integer>[] list = new ArrayList<Integer>[6];

//init
for(int i=0;i<list.length;i++){
    list[i] = new ArrayList<Integer>();
}

//fill
while(sc.hasNextInt()){
    int number = sc.nextInt();
    if(sc.hasNextInt()){
        int index_to_add = sc.nextInt();
        list[index_to_add].add(number);
    }else{
        break;
    }
}

注意:代码未经过测试;