微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

具有for和if的2D阵列编号网格

如何解决具有for和if的2D阵列编号网格

我最近开始学习Java。我有一个任务,必须在其中打印带有特定值的数字网格。

此处提供代码

public static void main(String[] args) {
  int array[][] = {{1,2,3,5,7},{10,11,12,14,16},{19,20,21,23,25},{28,29,30,32,34},{37,38,39,41,43},{46,47,48,50,52}};

  for (int i = 0; i < array.length; i++){
      for (int j = 0; j < array[i].length; j++) {
          System.out.print(array[i][j] + " ");
      }
      System.out.println("");
  }


}

}

现在它可以很好地工作了,但是理想情况下,我只能声明第一行的值,并使用带if语句的for循环来完成同一件事,但是我很难为此找到代码

解决方法

一列中两个元素之间的差为9:super().__init__,因此代码可以修改为:

column_names = ['column1','column2'] 
# Want to make query below work automatically
# if I add another column name to `column_names`
sql_cmd = ("""
        UPDATE table1
        SET 
        table1.column1 = table2.column1,table1.column2 = table2.column2
        FROM table2
        WHERE table1.id = table2.id""")

输出:

a[i][j] = a[i-1][j] + 9

更新

生成从1开始的序列会更有趣。 在行内,两个相邻元素之间的差异会像public static void main(String args[]) { int array[][] = new int[6][5]; // initialize the first row array[0] = new int[] {1,2,3,5,7}; // print the first row System.out.println(Arrays.toString(array[0])); for (int i = 1; i < array.length; i++) { // populate current row incrementing each element by 9 for (int j = 0; j < array[i].length; j++) { array[i][j] = array[i - 1][j] + 9; } System.out.println(Arrays.toString(array[i])); } } 一样变化,[1,7] [10,11,12,14,16] [19,20,21,23,25] [28,29,30,32,34] [37,38,39,41,43] [46,47,48,50,52] 是上一行的最后一个元素与下一行的第一个元素之间的差异。

1,1,3

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。