我需要用奇数填充二维数组。
我希望它看起来像这样
13579
13579
13579
13579
这是我到目前为止所做的:
public static void twoDArray(){
//http://stackoverflow.com/questions/11243774/how-to-automatically-populate-a-2d-array-with-numbers
int twoDimention[][] = new int[5][3];
for(int i=0; i<twoDimention.length; i++){
for(int j=0; j<twoDimention[i].length; j++){
twoDimention[i][j] = 2*i + 1;
System.out.printf("%d5", twoDimention[i][j]);
}
System.out.println();
}
打印:
1515151515
3535353535
5555555555
7575757575
9595959595
有人可以帮忙完成这项工作吗?
答案 0 :(得分:1)
twoDimention[i][j] = 2*j + 1; // j instead of i
System.out.print(twoDimention[i][j]);
答案 1 :(得分:1)
%d5
可能不符合您的想法。它代表%d
和5
字面值。如果您想为____2
这样的数字保留5个字符,那么您需要%5d
(但IMO太多,简单"%3d"
或者您不想添加任何填充{{ 1}}应该没问题。
因此,这应解释"%d"
中5
的存在。
该印刷值还表明,为第一行生成的值为1515151515
1
1
1
1
。之所以会发生这种情况,是因为您使用的是1
而不是i
。如果你改变了
j
到
twoDimention[i][j] = 2*i + 1;
您将生成twoDimention[i][j] = 2*j + 1;
1
3
5
7
。