【问题标题】:populate 2d array with odd numbers java用奇数填充二维数组java
【发布时间】:2016-01-25 00:05:24
【问题描述】:

我需要用奇数填充一个二维数组。

我希望它看起来像这样

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

有人可以帮助完成这项工作吗?

【问题讨论】:

  • JavaScript 与此有什么关系?你知道他们没有关系吗?

标签: java arrays multidimensional-array


【解决方案1】:
twoDimention[i][j] = 2*j + 1; // j instead of i
System.out.print(twoDimention[i][j]);

【讨论】:

    【解决方案2】:

    %d5 可能不会像你想的那样做。它代表 %d5 文字。如果您想为____2 等数字保留5 个字符,那么您需要%5d(但IMO 太多了,简单的"%3d" 或者如果您不想添加任何填充"%d" 应该没问题)。

    所以这应该可以解释51515151515 中的存在。

    该打印值还表明为第一行生成的值是11111。发生这种情况是因为您使用的是i 而不是j。如果你改变你的

    twoDimention[i][j] = 2*i + 1;
    

    twoDimention[i][j] = 2*j + 1;
    

    你会生成13579

    【讨论】:

    • 感谢您指出!我真的很想明白为什么第一行不是 1 1 1 1 1 xD
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-05
    • 1970-01-01
    • 2017-04-17
    • 1970-01-01
    • 1970-01-01
    • 2016-05-27
    相关资源
    最近更新 更多