新手,求改下,看不出来那里错了
编写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); } }