本文共 1873 字,大约阅读时间需要 6 分钟。
/求给定值幻方结果, 每行每列,对角线各数之和相等/
方法一:
package cn.amjt; mport java.util.Scanner; public class demo14 { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println("输入长度:"); int len = in.nextInt(); int number = 1; int h = 0; int l = len / 2; int[][] matrix = new int[len][len]; for(int i = 0 ; i < len * len ; i ++){ matrix[h][l] = number; if(number % len == 0){ h ++; }else{ l ++; h --; } if(h < 0)h = len - 1; if(l == len)l = 0; number ++; } for(int i = 0 ; i < len ; i ++){ for(int j = 0 ; j < len ; j ++){ System.out.print(matrix[i][j] + "\t"); } System.out.println(); } } }
方法二:
package cn.amjt;public class demo13 { public static void main(String[] args) { final int N=3; //对于不同的N阶只需要N的值即可 int j=0,k=N/2; int[][] arr=new int[N][N]; arr [j][k]=1; int x=1; while(x=N) { j+=2; k--; arr[j][k]=x; } else { j=N-1; arr[j][k]=x; } } else { if(k>=N) { k=0; arr[j][k]=x; } else { if(arr[j][k]!=0) { j+=2; k--; arr[j][k]=x; } else { arr[j][k]=x; } } } } for(int n=0;n
转载地址:http://bkusi.baihongyu.com/