螺旋矩阵 java实现(待消化)
生活随笔
收集整理的這篇文章主要介紹了
螺旋矩阵 java实现(待消化)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
import java.util.Scanner;/*** @author:(LiberHome)* @date:Created in 2019/3/4 17:13* @description:* @version:$*/
/*編寫程序并生成10X10的螺旋矩陣*/public class page1101 {public void snake(int n){int[][] data = new int[n][n];/*初始化一個數(shù)組*/int intA;/*A代表循環(huán)的次數(shù)*/int value = 1;/*這個螺旋開始的值就是1*/if(n % 2 != 0) //如果輸入的數(shù)是奇數(shù)那么就循環(huán)n/2+1次,A代表循環(huán)的次數(shù)
{intA = n/2 + 1;}else{intA = n/2; //偶數(shù)循環(huán)n/2次
}for(int i = 0; i < intA; i++) //從外向里循環(huán) 當(dāng)?shù)捷斎氲囊话?#xff08;或者一半加一)的時候就轉(zhuǎn)彎了
{//從左到右循環(huán)for(int j = i; j < n - i; j++)/**/{data[i][j] = value++;}//右列從上向下循環(huán)for(int k = i + 1; k < n - i; k++){data[k][n-i-1] = value++;}//從右到左for(int l = n-i-2; l >= i; l--){data[n-i-1][l] = value++;}//從下到上for(int m = n - i - 2; m > i; m--){data[m][i] = value++;}}for(int i = 0; i < n; i++) //遍歷輸出{for(int j = 0; j < n; j++){System.out.print(data[i][j]+"\t");}System.out.println();}}public static void main(String[] args) {Scanner sin = new Scanner(System.in);page1101 sn = new page1101();while(sin.hasNextInt()){int n = sin.nextInt();sn.snake(n);}}
}
?參考博客:https://www.cnblogs.com/iture-ming/p/5351762.html
并且在此基礎(chǔ)上稍加修改,是結(jié)果更符合要求
轉(zhuǎn)載于:https://www.cnblogs.com/liberhome/p/10472801.html
總結(jié)
以上是生活随笔為你收集整理的螺旋矩阵 java实现(待消化)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows API 开发飞机订票系统
- 下一篇: C#删除文件夹以及删除文件