?? revmatrix.txt
字號:
class HelixMatrix {
int[][] myMatrix = new int[20][20];
static int H = 16;
static int L = 12;
static int count = 0; //填充數字記數
int hh=H; //矩陣實際大小
int ll=L;
int stepX = hh; //初始步距
int stepY = ll-1;
int x=0; //初始坐標
int y=0;
void fillFromLeftToRight(int step)
{ //從左向右填寫
for (int i=0; i<step; i++)
{
if (myMatrix[y][x]==0)
{
myMatrix[y][x] = ++count;
}
else
{
x++;
myMatrix[y][x] = ++count;
}
}
};
void fillFromUpToDown(int step)
{ //從上向下填寫
for (int i=0; i<step; i++)
{
y++;
myMatrix[y][x] = ++count;
}
};
void fillFromRightToLeft(int step)
{ //從右向左填寫
for (int i=0; i<step; i++)
{
x--;
myMatrix[y][x] = ++count;
}
};
void fillFromDownToUp(int step)
{ //從下向上填寫
for (int i=0; i<step; i++)
{
y--;
myMatrix[y][x] = ++count;
}
};
public void make()
{ //生成矩陣:從左到右、從上到下、從右到左、
do
{ //從下到上,每一循環填一圈,很好理解吧。:)
if (count != H*L)
fillFromLeftToRight(stepX--);
if (count != H*L)
fillFromUpToDown(stepY--);
if (count != H*L)
fillFromRightToLeft(stepX--);
if (count != H*L)
fillFromDownToUp(stepY--);
}
while (count!=H*L);
};
public void print()
{ //打印出來,要注意排版喲!J if語句控制補空格
for (int i=0; i<L; i++)
{
for (int j=0; j<H; j++)
if (myMatrix[i][j] < 10)
System.out.print(" "+myMatrix[i][j]);
else if (myMatrix[i][j] >= 100)
System.out.print(" "+myMatrix[i][j]);
else
System.out.print(" "+myMatrix[i][j]);
System.out.println();
}
}
};
public class PrintHelixMatrix
{
public static void main(String[] args)
{
HelixMatrix aa = new HelixMatrix();
aa.make();
aa.print();
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -