新手,求改下,看不出来那里错了
编写4阶蛇形矩阵1 3 4 10
2 5 9 11
6 8 12 15
7 13 14 16
思路是创个4*4数组,然后以这矩阵来个每位数赋值,但我真不知道那里赋值错了,程序能运行,但是这赋值有问题。因为我试了这t有问题;那赋值绝对出错了。
要是语法有问题,求大侠也改下。
但是,请不要把主体改太多谢谢。(因为我还想改成随便输入n,然后在打印出来蛇形矩阵,这是之后的事了)
程序代码:
public class SnakeTypeMatrix {
public void print(int[][] a,int n){
for(int i = 0;i < n;i++){
for(int j = 0;j < n;j++){
System.out.print(a[i][j]);
}
System.out.println();
}
}
public int[][] Assignment(int n){
int[][] a = new int[n][n];
int i = 0,j = 0,t = 1;
for(i = 0;i < 2 * n - 1;i++){
if(i < n){
for(j = 0;j < i;j++){
if(i % 2 == 0){
a[j][i - j] = t;
}
else{
a[i - j][j] = t;
}
t = t + 1;
}
}
else{
for(j = 3;j > i - n;j--){
if(i % 2 == 0){
a[i - j][j] = t;
}
else{
a[j][i - j] = t;
}
t = t + 1;
}
}
}
System.out.println(t);
return a;
}
public static void main(String[] args){
SnakeTypeMatrix q = new SnakeTypeMatrix();
int n = 4;
int[][] a = new int[n][n];
a = q.Assignment(n);
q.print(a, n);
}
}






