下面是我尝试将一些值添加到2D长数组的示例。对于数组的“左侧”,值正确打印。然而,右侧似乎在[i] [1](右侧)值上打印了额外的零。
这是为什么?是因为我正在为一个长数组分配一个真正的int,还是我在代码中犯了一个错误。
public class test {
public static void main (String [] args) {
int printValue = 3;
long [] [] programUserID = new long [printValue][printValue];
for (int i=0; i<printValue; i++) {
for (int j=0; j<printValue; j++) {
programUserID[i][1] = 666;
}
programUserID[i][0] = 1998;
}
for (int x=0; x<programUserID.length; x++) {
for (int y=0; y<programUserID.length; y++) {
System.out.print(programUserID[x][y]);
}
System.out.println();
}
}
}
输出:
19986660
19986660
19986660
我希望能够使用2D长数组并能够分配所有[i] [1](右侧)值0并相应地从那里增加它们。
答案 0 :(得分:1)
正在发生Extra Zeros,因为您正在创建第三组未设置为数字的值。
如果你只想要这两个值,那么代码可能是这样的:
public class Test {
public static void main (String [] args) {
final int programUsersLength = 3;
long [] [] programUserID = new long [programUsersLength][2];
for (int i = 0; i < programUsersLength; i++) {
programUserID[i][0] = 1998;
programUserID[i][1] = 666;
}
for (int x = 0; x < programUserID.length; x++) {
for (int y = 0; y < programUserID[x].length; y++) {
System.out.print(programUserID[x][y]);
}
System.out.println();
}
}
}