用Java在控制台里字符画图实例集锦

画矩形:

public static void putRect(int width,int height,char type){
        for(int i = 0;i<height;i++){
            for(int j = 0;j<width;j++){
                System.out.print(type);
            }
            System.out.print('\n');
        }
    }

 

 画三角形(直角(4种)、等腰)

 

public static void putTriangle(int width,char type,int shape){
        switch (shape){
            case 1://直角三角形,直角在左上
                for(int i = 0;i<width;i++){
                    for(int j = 0;j<width-i;j++){
                        System.out.print(type);
                    }
                    System.out.print('\n');
                }
                break;
            case 2://直角三角形,直角在右上
                for(int i = 0;i<width;i++){
                    for(int j = 0;j<i;j++){
                        System.out.print(' ');
                    }
                    for(int j = 0;j<width-i;j++){
                        System.out.print(type);
                    }
                    System.out.print('\n');
                }
                break;
            case 3://直角三角形,直角在右下
                for(int i = 0;i<width;i++){
                    for(int j = 0;j<width-i-1;j++){
                        System.out.print(' ');
                    }
                    for(int j = 0;j<=i;j++){
                        System.out.print(type);
                    }
                    System.out.print('\n');
                }
                break;
            case 4://直角三角形,直角在左下
                for(int i = 0;i<width;i++){
                    for(int j = 0;j<=i;j++){
                        System.out.print(type);
                    }
                    System.out.print('\n');
                }
                break;
            case 5://等腰三角形,朝上
                width = width%2!=0?width:width+1;

                for(int i = 0;i<(width+1)/2;i++){
                    for(int j = 0;j<(width+1)/2-i-1;j++){
                        System.out.print(' ');
                    }
                    for(int j = 0;j<i*2+1;j++){
                        System.out.print(type);
                    }
                    System.out.print('\n');
                }
                break;
            case 6://等腰三角形,朝右
                width = width%2!=0?width:width+1;

                for(int i = 0;i<=width;i++){

                    for(int j = 0;j<=(width+1)/2 - Math.abs(i-(width+1)/2);j++){
                        System.out.print(type);
                    }
                    System.out.print('\n');
                }
                break;
            case 7://等腰三角形,朝下
                width = width%2!=0?width:width+1;

                for(int i = 0;i<=(width+1)/2;i++){

                    for(int j = 0;j<i;j++){
                        System.out.print(' ');
                    }
                    for(int j = 0;j<((width+1)/2-i)*2-1;j++){
                        System.out.print(type);
                    }
                    System.out.print('\n');
                }
                break;
            case 8://等腰三角形,朝左
                width = width%2!=0?width:width+1;

                for(int i = 0;i<width;i++){
                    for(int j = 0;j<Math.abs(i-(width-1)/2);j++){
                        System.out.print(' ');
                    }
                    for(int j = 0;j<(width+1)/2-Math.abs(i-(width-1)/2);j++){
                        System.out.print('$');
                    }
                    System.out.print('\n');
                }
                break;
        }

 

 

 

 

 

 输出菱形:

 public static void putRhombus(int height, char type,int style){
        height = height%2!=0?height:height+1;
        switch(style){
            case 1://实心菱形
                for(int i = 0;i<height;i++){
                    for(int j = 0;j<Math.abs(i-(height-1)/2);j++){
                        System.out.print(' ');
                    }

                    for(int j = 0;j<height - Math.abs(2*i+1-height);j++){
                        System.out.print(type);
                    }
                    System.out.print('\n');
                }
                break;
            case 2://空心菱形
                for(int i = 0;i<height;i++){
                    for(int j = 0;j<Math.abs(i-(height-1)/2);j++){
                        System.out.print(' ');
                    }

                    for(int j = 0;j<height - Math.abs(2*i+1-height);j++){
                        if(j==0||j==height - Math.abs(2*i+1-height)-1){
                            System.out.print(type);
                        }else {
                            System.out.print(' ');
                        }
                    }
                    System.out.print('\n');
                }
                break;
        }

    }

 

 

 

posted @ 2021-01-14 16:20  lucascube  阅读(1026)  评论(0)    收藏  举报