黑马程序员技术交流社区

标题: 我也来出个逻辑题 [打印本页]

作者: 陈大仙…    时间: 2017-3-11 13:52
标题: 我也来出个逻辑题
输入一个n,用n*n个数字打印回旋楼梯  
例如:输入4
打印:  1     2    3     4
          12   13  14    5
           11   16  15    6
           10   9    8     7
                              

作者: 飞扬的代码    时间: 2017-3-11 20:13
public class MAIN {

//回旋数字是一个类似与反着写的6   而数字本身在数的a[0][n]

/**

* 思路:就是一个反着的数字6一样的东西

*   我们定义一个temp  然后循环走完这个‘6’让temp把每个位置的值都赋上,然后自增

*

* */

public int[][] getNum(int n){

//定义要存储回旋数字的二维数组

int [][] arr=new int[3][n];

//arr[0][n-1]就是回旋数字本身

int temp=1;

for(int i=0;i<n;i++){

arr[0][i]=temp++;

}

for(int i=1;i<3;i++){

arr[i][n-1]=temp++;

}

for(int i=n-2;i>-1;i--){

arr[2][i]=temp++;

}

for(int i=0;i<n-1;i++){

arr[1][i]=temp++;

}

return arr;

}

/**

* @param args

*/

public static void main(String[] args) {

System.out.println("Please Input A Number: \n");

Scanner scanner=new Scanner(System.in);

int n=scanner.nextInt();

int arr[][]=new MAIN().getNum(n);

for(int i=0;i<3;i++){

for(int a=0;a<n;a++){


System.out.print(arr[i][a]+"  ");

}

System.out.println();

}

}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2