日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java实现螺旋矩阵

發布時間:2024/4/18 java 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java实现螺旋矩阵 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 螺旋矩陣:螺旋矩陣是指一個呈螺旋狀的矩陣,它的數字由第一行開始到右邊不斷變大,向下變大,向左變大,向上變大,如此循環。如下:


下面的代碼可以作為參考,大家自己寫的可以輸入: 1,1; 1,2; 3,5; 5,3 ;5,5進行驗證一下,還是有一些小細節需要注意的

  • 源代碼(借助label)
public static void main(String[] args) {Scanner scan = new Scanner(System.in);System.out.print("請輸入螺旋矩陣的行數:");int m = scan.nextInt();System.out.print("請輸入螺旋矩陣的列數");int n = scan.nextInt();int[][] arr = new int[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)
public static void main(String[] args) {Scanner scan = new Scanner(System.in);System.out.print("請輸入螺旋矩陣的行數:");int m = scan.nextInt();System.out.print("請輸入螺旋矩陣的列數");int n = scan.nextInt();int[][] arr = new int[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();}}

總結

以上是生活随笔為你收集整理的Java实现螺旋矩阵的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。