Java 为整数列表创建特定模式 int[]box=newint[9*8]; 对于(int i=0;i

Java 为整数列表创建特定模式 int[]box=newint[9*8]; 对于(int i=0;i,java,list,for-loop,integer,Java,List,For Loop,Integer,我认为问题在于第4行。代码将一个位置设置为一个值,但该位置从0重复到7 这应该更好地发挥作用: int[] box = new int[9*8]; for(int i=0; i<9; i++) { for(int j=0; j<8; j++) { box[j] = i; } } int[]box=newint[9*8]; 对于(int i=0;i

我认为问题在于第4行。代码将一个位置设置为一个值,但该位置从0重复到7

这应该更好地发挥作用:

int[] box = new int[9*8];
for(int i=0; i<9; i++) {
    for(int j=0; j<8; j++) {
        box[j] = i;
    }
}
int[]box=newint[9*8];
对于(int i=0;i<9;i++){
对于(int j=0;j<8;j++){
盒子[i*8+j]=i;
}
}

基本上,它会将每一个新数字的0-7位移到8位以上。

我认为问题在于第4行。代码将一个位置设置为一个值,但这个位置会从0重复到7

这应该更好地发挥作用:

int[] box = new int[9*8];
for(int i=0; i<9; i++) {
    for(int j=0; j<8; j++) {
        box[j] = i;
    }
}
int[]box=newint[9*8];
对于(int i=0;i<9;i++){
对于(int j=0;j<8;j++){
盒子[i*8+j]=i;
}
}

基本上,它会将每个新数字的0-7位移到8位以上。

下面的答案中的公式,
i*8+j
或者
column*rowsize+row
是实现这种结构时需要记住的一个重要内容。内存本身基本上是一个一维数组,编译器必须使用这样的公式在下面的答案中,
i*8+j
或者
column*rowsize+row
是实现类似结构时需要记住的一个重要公式。内存本身基本上是一个一维数组,编译器必须使用类似的公式来实现“骗”你看到一个二维(或更高)数组。