Java, 2D数组指定组织



我必须让2D数组[10][10]像这样填充:(https://i.stack.imgur.com/WCRGu.png)拜托,有人能帮我一下吗?'

int j, i;
int n=1;

for (j=9; j>=0;j--) {
for (i=11-j; i>=9-j; i++) {
if(i<10) {
a[i][j]=n;
n++;
}else{
break;
}
}
}
for (i=0;i<=9;i++) {
for(j=0;j<=9;j++) {
System.out.print(a[i][j] + " ");
}
System.out.println();
}

这是解决你问题的程序。我还添加了2d数组的打印。它接受任何1:1大小的数组,您可以使用变量final int ARRAY_SIZE修改您想要的大小。

public class StackOverflow {
public static void main(String[] args) {
final int ARRAY_SIZE = 10;
int[][] array = new int[ARRAY_SIZE][ARRAY_SIZE];
//filling of values for 2d array
for (int i = 0, k = 1; i < array.length ; i++) {
for (int j = i + 3; j > i; j--, k++) {
if (j > array.length) {
k--;
continue;
}
array[j - 1][array.length - i - 1] = k;
}
}
//printing of 2d array
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array.length; j++) {
if (array[i][j] == 0) 
System.out.print(array[i][j] + "  ");
else if (array[i][j] > 9) 
System.out.print(array[i][j] + " ");
else
System.out.print(array[i][j] + "  ");
}
System.out.println();
}
}
}

最新更新