Java 我如何让网格从上到下开始
我需要创建一个网格,用户可以通过添加行和列r x c来生成该网格,但我需要网格从升序到降序 我创建了一个能够创建网格的方法:Java 我如何让网格从上到下开始,java,Java,我需要创建一个网格,用户可以通过添加行和列r x c来生成该网格,但我需要网格从升序到降序 我创建了一个能够创建网格的方法: static void createGrid(int n, int m){ int grid[][] = new int[n][m]; for(int i = grid.length - 1; i >= 0; i--) { System.out.println(); for(int j = 0; j < grid
static void createGrid(int n, int m){
int grid[][] = new int[n][m];
for(int i = grid.length - 1; i >= 0; i--) {
System.out.println();
for(int j = 0; j < grid.length; j++) {
grid[i][j] = i * n + j + 1;
System.out.print(grid[i][j] + "\t");
}
}}
预期输出应为
1 2 3
4 5 6
7 8 9
将外部for循环更改为:
for(int i = grid.length - 1; i >= 0; i--) {
致:
将外部for循环更改为:
for(int i = grid.length - 1; i >= 0; i--) {
致:
让你的外环朝另一个方向走。正如@Thomas thanky Thomas!所指出的,您的代码还有一些其他问题!。只有当两个输入值相同时,代码as-is才起作用。以下是代码,其中包含三个必要的更改,以使其能够正确生成非方形网格:
static void createGrid(int n, int m){
int grid[][] = new int[n][m];
for(int i = 0 ; i < n; i++) {
System.out.println();
for(int j = 0; j < m; j++) {
grid[i][j] = i * m + j + 1;
System.out.print(grid[i][j] + "\t");
}
}
}
public static void main(String... args) {
createGrid(4, 6);
}
我一直在学习Java流。我利用这个机会尝试在一行中使用一个流来执行此操作。此代码的作用与我的第一个版本相同:
static void createGrid(int n, int m) {
IntStream.range(0, n * m).mapToObj(i -> (i+1) + ((i%m == m-1)? "\n" : "\t")).forEach(System.out::print);
}
让你的外环朝另一个方向走。正如@Thomas thanky Thomas!所指出的,您的代码还有一些其他问题!。只有当两个输入值相同时,代码as-is才起作用。以下是代码,其中包含三个必要的更改,以使其能够正确生成非方形网格:
static void createGrid(int n, int m){
int grid[][] = new int[n][m];
for(int i = 0 ; i < n; i++) {
System.out.println();
for(int j = 0; j < m; j++) {
grid[i][j] = i * m + j + 1;
System.out.print(grid[i][j] + "\t");
}
}
}
public static void main(String... args) {
createGrid(4, 6);
}
我一直在学习Java流。我利用这个机会尝试在一行中使用一个流来执行此操作。此代码的作用与我的第一个版本相同:
static void createGrid(int n, int m) {
IntStream.range(0, n * m).mapToObj(i -> (i+1) + ((i%m == m-1)? "\n" : "\t")).forEach(System.out::print);
}
2D数组应该已经有了正确的元素,您只需在行上向后迭代,并在运行中打印它们。尝试i=0;iSide注意:您声明有一个RxC网格,即列数可以不同于行数。因此,如果r!=C使用j