网站备案填写网站名称,建设网站租服务器,优良的定制网站建设制作商,百度安全网站检测题目
从键盘输入一个整数#xff08;1~20#xff09; 则以该数字为矩阵的大小#xff0c;把1,2,3…n*n 的数字按照顺时针螺旋的形式填入其中。例如#xff1a; 输入数字2#xff0c;则程序输出#xff1a; 1 2 4 3 输入数字3#xff0c;则程序输出#xff1a; 1 2 3 8…题目
从键盘输入一个整数1~20 则以该数字为矩阵的大小把1,2,3…n*n 的数字按照顺时针螺旋的形式填入其中。例如 输入数字2则程序输出 1 2 4 3 输入数字3则程序输出 1 2 3 8 9 4 7 6 5 输入数字4 则程序输出 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7
参考
参考网址
代码
public class LoopsNumber {public static void main(String[] args) {System.out.println(请输入回形数矩阵的大小);Scanner scanner new Scanner(System.in);int num scanner.nextInt();loop(num);scanner.close();}public static void loop(int num) {int[][] arr new int[num][num];
// 右箭头方向
// arr[0][0]1;
// arr[0][1]2;
// arr[0][2]3;
// 下箭头方向
// arr[1][2]4;
// arr[2][2]5;
// arr[2][1]6;
// 左箭头方向
// arr[2][0]7;
// arr[1][0]8;
// 上箭头方向
// arr[1][1]9;// 值int value1;
// 行int i0;
// 列int j0;
// 矩阵最中心的值为num*num,此时赋值结束while (arr[i][j]!Math.pow(num,2)){arr[i][j]value;/*当遇到四个角的拐点时进行判断然后对i和j的值进行递增或者递减;int型的二维数组在没有赋值时内层元素默认为0作为判断条件*/
//右箭头方向赋值if(j!num-1arr[i][j1]0){
//为了预防还没有走到最上面就往右箭头方向赋值if (i0arr[i-1][j]0){i--;}else {j;}
//下箭头方向赋值}else if (i!num-1arr[i1][j]0){i;
//左箭头方向赋值}else if (j0arr[i][j-1]0){j--;
//上箭头方向赋值}else if (i0arr[i-1][j]0){i--;}value;}for (int[] ints : arr) {for (int anInt : ints) {System.out.print(anInt \t);}System.out.println();}}
}