A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© tfy 中级黑马   /  2012-12-1 11:28  /  969 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package test;
public class  BendLine
{        static char[][] ch=new char[20][20];
        static int length=ch.length-1;
        public static void main(String[] args)
        {
                int x,y;        
                for(x=0;x<length+1;x++)//初始化字符数组
                        for(y=0;y<length+1;y++)
                        ch[x][y]=' ';
                x=y=length;
                int count=0;
                while(count<(length+1)/2)
                {
                        if(count%2==1)
                        area(x,y,'*');
                        else
                        area(x,y,' ');
                        
                        x--;
                        y--;
                        count++;
                        
                }
               
                for(x=0;x<length+1;x++)
                {
                        System.out.print(ch[x]);
                        System.out.println("");
                }
               
        }
        static void area(int x,int y,char c)
        {        
                int i=length-x;
                int j=length-y;
                int n=0;
                int k=1;
                while(n<4)
                {        
                        if(n==0 && i<x)//n==0指左边
                                ch[i++][j]=c;
                        else if(n==0)
                        {n++;i=x;}

                        if(n==1 && j<y)//n==1指下边
                                ch[i][j++]=c;
                        else if(n==1)
                        {n++;j=y;}

                        if(n==2 && i>length-x)//n==2指右边
                                ch[i--][j]=c;
                        else if(n==2)
                        {n++;j=x;}
                        if(n==3 && j>length-x)//n==3指上边
                                ch[i][j--]=c;
                        else if(n==3)
                        {n++;}

                }//while
                if(ch[length-x+1][y]=='*')
                        ch[length-x+1][y]=' ';
                else
                        ch[length-x+1][y]='*';                        
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马