到目前为止,我有这个代码,它会打印出值,但我似乎无法想出获得这些位置的方法..
public static ArrayList defineSeq(){
for(int i=0; i<sparseRix.length; i++){
for(int j=0; j<sparseRix.length; j++){
int value =sparseRix[i][j];
int postion // What do i do here to get the postion
System.out.println("Value is " +value +"position" is +position);
}
}
return arrayList;
}
答案 0 :(得分:1)
i
和j
一起是你的立场。使用数组返回它,或使用原始数组的宽度生成值,如i*width + j
。
答案 1 :(得分:0)
i * sparseRix.length + j如果左上角是第0位
答案 2 :(得分:0)
如果按位置表示每个值的行和列
System.out.printf("Value is %s, in row %s and column %s \n", value, i, j);
或者如果你的意思是第一,第二等位置
System.out.printf("Value is %s, in position %sth \n", value, i*sparseRix.length+j);
如上所述......
答案 3 :(得分:0)
由于您开始使用2D数组,因此您可能无法使用1D位置来定位值。
你最好的选择应该是使用“结构”,称之为位置。然后,您可以使用position.i和position.j变量找到元素。