publicstaticvoidmain(String[] args){Scanner scan =newScanner(System.in);System.out.print("請(qǐng)輸入螺旋矩陣的行數(shù):");int m = scan.nextInt();System.out.print("請(qǐng)輸入螺旋矩陣的列數(shù)");int n = scan.nextInt();int[][] arr =newint[m][n];int k =1,row,//行column;//列label:for(int i =0; k <= m * n; i++){for(column = i; column < n - i; column++){arr[i][column]= k++;if(k>m*n)break label;}for(row = i +1; row < m - i -1; row++){arr[row][n-1-i]=k++;if(k>m*n)break label;}for(column = n - i -1; column > i; column--){arr[m-i-1][column]= k++;if(k>m*n)break label;}for(row = m - i -1; row > i; row--){arr[row][i]= k++;if(k>m*n)break label;}}for(int i =0; i < m; i++){for(int j =0; j < n; j++){System.out.print(arr[i][j]+"\t");}System.out.println();}}
源代碼(不借助label)
publicstaticvoidmain(String[] args){Scanner scan =newScanner(System.in);System.out.print("請(qǐng)輸入螺旋矩陣的行數(shù):");int m = scan.nextInt();System.out.print("請(qǐng)輸入螺旋矩陣的列數(shù)");int n = scan.nextInt();int[][] arr =newint[m][n];int k =1,row,//行column;//列for(int i =0; k <= m * n; i++){for(column = i; column < n - i; column++){arr[i][column]= k++;}for(row = i +1; row < m - i -1; row++){arr[row][n-1-i]=k++;}for(column = n - i -1; column > i && i !=(m -i -1); column--){arr[m-i-1][column]= k++;}for(row = m - i -1; row > i && i !=(n -i -1); row--){arr[row][i]= k++;}}for(int i =0; i < m; i++){for(int j =0; j < n; j++){System.out.print(arr[i][j]+"\t");}System.out.println();}}