繁体   English   中英

使用嵌套的 for 循环为二维数组赋值

[英]Assigning values to a 2D array using a nested for loop

我想通过使用嵌套的 for 循环将值迭代到我的二维数组,但这是我到目前为止所拥有的。 我认为它确实填充了我的二维数组,但没有填充我想要的数字。 我希望它从 2 开始填充 2 的幂。所以我的结果看起来像:2、4、8、16、32、64.. 等等,直到我的行和列都完成。

我的代码:

public class RowsSum {
    public static void main(String[] args) {
        int[][] nums = new int[5][3]; //declaring a 2D array of type int
        for (int i = 0; i <= nums.length; i++) {
            for (int j = 0; j < nums[0].length; j++) {
                nums[i][j] = (i * nums[0].length) + j + 1;
                System.out.print(nums[i][j] + "\t");
            }//closing inner loop
            System.out.println("");
        }// closing nested for loop
    }// closing main method
}//closing class

这应该有效:

public class RowsSum {
  public static void main(String[] args) {
    int[][] nums = new int[5][3]; //declaring a 2D array of type int
    int num = 2;
    for (int i = 0; i < nums.length; i++) {
      for (int j = 0; j < nums[i].length; j++) {
        nums[i][j] = (int) Math.pow(num, ((i*nums[i].length)+j+1)); //code A
        System.out.print(nums[i][j] + "\t");
      }//closing inner loop
      System.out.println("");
    }// closing nested for loop
  }// closing main method
}//closing class

代码A:在这里,我只是将数组里面的值设置为2的数组中position的幂,从1开始。为了得到position,我将当前col索引乘以每行的长度加上索引当前行。 这只是一种方法,无需在循环外创建新的计数变量,然后每次在内循环中递增它,尽管如果您愿意,您也可以这样做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM