在JAVA 中用 2维数组画圈

来源:百度知道 编辑:UC知道 时间:2024/06/04 07:15:55
如图 :
1 2 3 4 5
16 17 18 19 6 JAva 中怎么用2维数组把这些
15 24 25 20 7 数字按顺序打印出来呀。
14 23 22 21 8 这其中有什么规律哦。请帮忙写出来 谢谢哈

13 12 11 10 9

呵呵,挺有趣的阿。。还有这种问题。写一下。
大致的思路是,首先将数组构造出来,然后再依次打印。

public class Test
{
final int LEFT_TO_RIGHT = 1 ;
final int TOP_TO_BOTTOM = 2 ;
final int RIGHT_TO_LEFT = 3 ;
final int BOTTOM_TO_TOP = 4 ;

static int [] DIRECTIONS = new int [] {
LEFT_TO_RIGHT,
TOP_TO_BOTTOM,
RIGHT_TO_LEFT,
BOTTOM_TO_TOP
} ;

int dIndex = 0 ;
int row = 0 ;
int col = 0 ;

public int [][] fillMap (int cols , int rows)
{
int [][] map = new int [rows][cols] ;
row = 0 ;
col = 0 ;

for (int i = 1 ; i <= rows*cols ; i ++)
{
fillPoint (i) ;
}
}

public void fillPoint (int num)
{
map [row][col] == num ;

// try move to next
int nextRow, nextCol;

for (int i = 0 ; i < 4 ; i ++)
{
d = (d + i) % 4 ;
int [] point = moveNext (d) ;
nextRow = point [0] ;
nextCol = point