[英]Filling Java 2D array 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));
我希望您的意思是格式:
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;
}
}
注意:代码未经测试;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.