29 顺时针打印矩阵

package sort;

public class Test29 {
    
    
    public static void main(String[] args) {
        int[][]f=makeArray(4, 4);
         pintArray(f); 
         printCircle(f);
    }
    public static int[][] makeArray(int m,int n){
        int[][]resule=new int[m][n];
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
            resule[i][j]=((int)(Math.random()*10));    
            }
        }
        
        
        return resule;
    }
  public static void pintArray(int[][]s){
      
      for (int i = 0; i < s.length; i++) {
          for (int j = 0; j < s[i].length; j++) {
            System.out.print(s[i][j]+" ");
        }
        System.out.println();
    }
      
      
      
      
      
  }
  
  public static void printCircle(int[][]array){
      int m=array.length;
      int n=array[0].length;
      for (int i = 0; i <= (m-1)/2; i++) {
          System.out.println("第"+(i+1)+"圈");
        for (int j = i; j <=(n-1-i); j++) {
            //从左到右
            System.out.print(array[i][j]+" ");
            
        }
        System.out.println();
        //System.err.println(n-i-1);
        if(n-i-1>i){
            for (int j = i+1; j <=m-i-1 ; j++) {
                //System.out.print("jjj"+" ");
                System.out.print(array[j][n-1-i]+" ");
                }
            System.out.println();
            
        }
        if(n-i-1>i&&m-i-1>i){
            for (int j = n-2-i; j >=i; j--) {
                System.out.print(array[m-i-1][j]+" ");
                
                
            }
            System.out.println();
        }
    
        for (int j = m-1-i-1; j >= i+1; j--) {
            
                System.out.print(array[j][i]+" ");
            
        }
        
        
        System.out.println();
    }
      
      
      
      
      
      
  }
}
 

发布了41 篇原创文章 · 获赞 1 · 访问量 764

猜你喜欢

转载自blog.csdn.net/coder_my_lover/article/details/105288339