Java实例:使用循环打印图形

打印矩形

******
******
******
******
******

实现代码:

public class Test{
    public static void main(String[] args) {
         //外层循环 每次输出一行*
        for (int i = 1; i <= 5; i++) {
            System.out.print("*");
            //内层循环 每次输出一个*
            for (int j = 1; j <= 5; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

打印平行四边形

    *****
   *****
  *****
 *****
*****

实现代码:

public class Parallelogram {
    public static void main(String[] args) {
         //外层循环 每次打出一个*
        for (int i = 1; i <=5; i++) {
            //填充空格
            for (int j = 1; j <= 5 - i; j++) {
                System.out.print(" ");
            }
            //内层循环 每次打印一个*
            for (int k = 1; k <= 5; k++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

打印三角形

     *
    ***
   *****
  *******
 *********

我们先把这个图形拆分为三个直角三角形:

下面来我们来看一下完整的实现代码:

public class Demo {
    public static void main(String[] args){
        for(int i=1;i<=5;i++){ // 图形共5行,i表示行数
            for(int j=5; i<=j; j--) // 打印左侧1号空白三角形部分
                System.out.print(" ");
            for(int j=1; j<=i; j++) // 打印2号三角形部分
                System.out.print("*");
            for(int j=1; j<i; j++)  // 打印3号三角形部分
                System.out.print("*");
            System.out.println();
        }
    }
}

打印倒立的三角形

*******
 *****
  ***
   *

实现代码:

public class Test {
    public static void main(String[] args) {
         //打印倒立的三角形
        for (int m = 1; m <= 4; m++) {
            //打印空格
            for (int n = 0; n <= m; n++) {
                System.out.print(" ");
            }
            //打印*
            for (int x = 1; x <= 7 -2 * (m - 1); x++) {
                System.out.print("*");
            }
            System.out.println();
        }        
    }
}

打印菱形

    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *

实现代码

public class Diamond {
    public static void main(String[] args) {
        print(8); // 输出 8 行的菱形
    }
 
    public static void print(int size) {
        if (size % 2 == 0) {
            size++; // 计算菱形大小
        }
        for (int i = 0; i < size / 2 + 1; i++) {
            for (int j = size / 2 + 1; j > i + 1; j--) {
                System.out.print(" "); // 输出左上角位置的空白
            }
            for (int j = 0; j < 2 * i + 1; j++) {
                System.out.print("*"); // 输出菱形上半部边缘
            }
            System.out.println(); // 换行
        }
        for (int i = size / 2 + 1; i < size; i++) {
            for (int j = 0; j < i - size / 2; j++) {
                System.out.print(" "); // 输出菱形左下角空白
            }
            for (int j = 0; j < 2 * size - 1 - 2 * i; j++) {
                System.out.print("*"); // 输出菱形下半部边缘
            }
            System.out.println(); // 换行
        }
    }
}

猜你喜欢

转载自blog.csdn.net/lxxiang1/article/details/81514515