在n*n方阵里填入1,2,…,n*n,要求填成蛇形。例如n=4时方陈阵为:
10 11 12 1
9 16 13 2
8 15 14 3
7 6 5 4
思路:先建一个二维数组,在这个数组里面填数。
写一个方法,参数是 一个二维数组arr,填数的起始位置 m n,填的第一数字,对于main方法中就是先把 建立的数组、右上角的位置的坐标,填的第一个1,传到方法中,打印最外层的一圈,再利用递归打印 里面的每一圈,每次递归传的数组不便,m+1,n-1(里面的一圈的坐标的起始位置就是行数加一,列数减一),要填的第一个数 是你再填外圈时 每次加1后得到的值,就这样利用递归,得出蛇形。
package nyoj;
import java.util.Arrays;
import java.util.Scanner;
public class S_Shape {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);