给出一个二维数组,并且按照如下格式打印出来。例如:
给数组“1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16”: 
打印结果如下:
1 12 11 10
2 13 16 9
3 14 15 8
4 5 6 7求实现代码~~~谢谢各位

解决方案 »

  1.   

    System.out.println("1 12 11 10");
    System.out.println("2 13 16 9");
    System.out.println("3 14 15 8");
    System.out.println("4 5 6 7");
      

  2.   

    楼主参考这个代码吧,已经实现了你的功能:
    http://www.javaeye.com/topic/400922
      

  3.   


    import java.util.Scanner;
    public class Rotate2 {
    public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    System.out.println("请输入方阵的阶数:");
    int num = input.nextInt();
    if(num < 1) {
    System.out.println("请输入合适的方阵阶数!");
    return;
    }
    int count = 1;
    int[][] arr = new int[num][num];
    int i=0,j=0;
    //整个图形分为从外到内的一些正方形,如果是偶数的话,
    //正好合适,若是奇数的话,则最里面的一个正方形比较特殊,
    //只有一个数字组成,所以循环结束后特殊处理。下面的里层
    //的四个for循环,分别控制每个正方形的四条边的数字的设
    //置,按照逆时针的顺序
    for(int k=0; k<num/2; k++) {
    for(i=k; i<arr.length-k; i++) {
    arr[i][j] = count++;
    }
    for(j++,i--; j<arr.length-k; j++) {
    arr[i][j] = count++;
    }

    for(i--,j--; i>=k; i--) {
    arr[i][j] = count++;
    }
    for(i++,j--; j>k; j--) {
    arr[i][j] = count++;
    }
    j++;
    }
    //如果为奇数,则设置中间位置的值
    if(num % 2 == 1) {
    arr[num / 2][num / 2] = count;
    }
    //打印数组
    //length为该数组的最大元素的长度,也就是输出的数字的宽度
    int length = String.valueOf(count).length();
    for(i=0; i<arr.length; i++) {
    for(j=0; j<arr[i].length; j++) {
    System.out.format("%" + length + "d ", arr[i][j]);
    }
    System.out.println();
    }
    }
    }
      

  4.   

    int[] a = {1,2,3,4,5}要打什么??
    1
    25
    34
    还是
    1
    2
    345
      

  5.   

    public class SpiralMatrix {
        
        /**
         * 往下面开始
         */
        private final static int DOWN_FIRST = 0;
        
        /**
         * 往右边开始
         */
        private final static int RIGHT_FIRST = 1;    public static void main(String[] args) {        final int N = 4;
            final int DIRECT = DOWN_FIRST;        int[][] matrix = new int[N][N];
            
            int[] rc = { 0, 0 };        
            int t = (N << 1) - 1, c = 0, num = 1;
            while(c < t) {
                int p = (c + 1) >> 1;
                while(p++ < N) {
                    matrix[rc[0]][rc[1]] = num++;
                    if(p == N) {
                        c++;
                    }
                    rc[(c & 1) ^ DIRECT] += 1 - (c & 2);
                }
            }
            print(matrix);
        }    private static void print(int[][] matrix) {
            for(int i = 0; i < matrix.length; i++) {
                for(int j = 0; j < matrix[i].length; j++) {
                    if(j > 0) {
                        System.out.print(' ');
                    }
                    System.out.printf("%2d", matrix[i][j]);
                }
                System.out.println();
            }
        }
    }