如何解决具有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 举报,一经查实,本站将立刻删除。