class Snail
{
static final int MAX_X=5;
static final int MAX_Y=5;
static int min_x=0;
static int min_y=0;
static int max_x=MAX_X;
static int max_y=MAX_Y;
static int n;
static int cnt;
int[][] p;
int x, y;
boolean loop=true;
Snail()
{
x=-1;
y=0;
n=1;
cnt=1;
p= new int[max_y][max_x];
max_x--;
max_y--;
}
void xUp()
{
loop=false;
for(x+=1;x<=max_x;x++)
{
p[y][x]=n++;
loop=true;
}
x--;
min_y++;
cnt++;
}
void yUp()
{
loop=false;
for(y+=1;y<=max_y;y++)
{
p[y][x]=n++;
loop=true;
}
y--;
max_x--;
cnt++;
}
void xDown()
{
loop=false;
for(x-=1;x>=min_x;x--)
{
p[y][x]=n++;
loop=true;
}
x++;
max_y--;
cnt++;
}
void yDown()
{
loop=false;
for(y-=1;y>=min_y;y--)
{
p[y][x]=n++;
loop=true;
}
y++;
min_x++;
cnt++;
}
void work()
{
while(loop)
{
switch(cnt%4)
{
case 1 : xUp();break;
case 2 : yUp();break;
case 3 : xDown();break;
case 0 : yDown();break;
default : ;
}
}
}
void print()
{
for(int i=0; i<MAX_Y; i++)
{
for(int j=0; j<MAX_X; j++)
{
System.out.printf("%3d",p[i][j]);
}
System.out.println("");
}
}
}
class SnailMain
{
public static void main(String[] args)
{
Snail s = new Snail();
s.work();
s.print();
}
}
성공 하악하악
쩌네요 보기좋게 잘짠듯 ㄷㄷ
1칭찬 감사함니다 ㅠㅠㅠ
c로짠거랑 차이가뭐냐