欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-04-01 18:17:24
...

打印矩形

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

实现代码:

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();
        }
    }
}

 

打印三角形

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

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

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

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

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(); // 换行
        }
    }
}