Java程序创建金字塔和图案


如果有人想在Java编程语言方面建立坚实的基础。那么,了解循环的工作原理是必要的。此外,解决金字塔图案问题是增强Java基础知识的最佳方法,因为它包含了广泛的用途:

本文旨在提供一些Java程序,利用Java中提供的不同类型的循环来打印金字塔图案。

创建金字塔图案的Java程序

我们将通过Java程序打印以下金字塔图案:

让我们逐一讨论它们。

图案1:半星形金字塔

以下是打印半星形金字塔的步骤:

  • 程序定义了一个包含main方法Pyramid1类。
  • main方法内部,一个整数rows初始化为5,表示行数。
  • 一个for循环i = 1运行到i <= rows,控制行数。
  • 在外循环内部,另一个for循环j = 1运行到j <= i,在每一行打印*,基于当前的行号。
  • 在每一行打印星号后,打印一个换行符。
  • 该过程重复进行,直到金字塔以每一行递增的星号打印出来。

示例

public class Pyramid1 {
    public static void main(String[] args) {
        int rows = 5;
        for (int i = 1; i <= rows; ++i) {
            for (int j = 1; j <= i; ++j) {
                System.out.print("* ");
            }
            System.out.println();
        }
    }
}

输出

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

图案2:倒置半星形金字塔

以下是打印倒置半星形金字塔的步骤:

  • 程序定义了一个包含main方法Pyramid2类。
  • main方法内部,一个整数rows初始化为6,表示行数。
  • 一个for循环i = rows(从6开始)递减到i >= 1,以相反的顺序控制行数。
  • 在外循环内部,第二个for循环j = 1运行到j <= i,根据i的当前值打印*
  • 在每一行打印星号后,打印一个换行符。
  • 该过程继续进行,每一行打印的星号数量减少,直到图案完成。

示例

public class Pyramid2 {
  public static void main(String[] args) {
    int rows = 6;
    for (int i = rows; i >= 1; --i) {
      for (int j = 1; j <= i; ++j) {
        System.out.print("* ");
      }
      System.out.println();
    }
  }
}

输出

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

图案3:星形金字塔

以下是打印星形金字塔的步骤:

  • 声明并初始化一个整数'n',它指定行数。

  • 创建一个嵌套的for循环,外循环将运行到'n',内循环将运行到空格数并打印空格。打印后,我们将空格计数减1。

  • 再次使用另一个内循环,它将运行到星数并打印星号。打印后,我们将星数加2。

示例

public class Pyramid3 {
   public static void main(String[] args) {
      int n = 5; // number of rows
      int spc = n-1; // initial space count
      int str = 1; // initial star count
      // loop to print the pyramid
      for(int i = 1; i <= n; i++) {
         for(int j = 1; j <= spc; j++) { // spaces
            System.out.print("\t"); 
         }
         spc--; // decrementing spaces
         for(int k = 1; k <= str; k++) { // stars
            System.out.print("*\t");  
         }
         str += 2; // incrementing stars
         System.out.println();
      }
   }
}

输出

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

图案4:倒置星形金字塔

以下是打印倒置星形金字塔的步骤:

  • 声明并初始化一个整数'n',它指定行数。
  • 接下来,将空格的初始计数定义为0,星号的初始计数定义为'n + n – 1',以便我们可以将列数保持为奇数。
  • 创建一个嵌套的for循环,外循环将运行到'n',第一个内循环将打印空格。打印后,我们将每次迭代的空格计数加1。
  • 再次使用另一个内循环来打印星号。打印后,我们将星数减2。

示例

public class Pyramid4 {
   public static void main(String[] args) {
      int n = 5;
      int spc = 0; // initial space count
      int str = n + n - 1; // initial star count
      // loop to print the star pyramid
      for(int i = 1; i <= n; i++) {
         for(int j = 1; j <= spc; j++) { // spaces
            System.out.print("\t"); 
         }
         spc++; // incrementing spaces
         for(int k = 1; k <= str; k++) { // stars
            System.out.print("*\t");  
         }
         str -= 2; // decrementing stars
         System.out.println();
      }
   }
}

输出

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

图案5:数字金字塔

我们将在这里使用之前的代码,但是我们将打印列号而不是星号。

  • 首先,我们将定义一个包含main方法Pyramid5类。
  • main方法内部,初始化三个变量:n = 5spc = n-1col = 1
  • 一个for循环i = 1运行到i <= n以控制行数。
  • 在循环内部,第二个for循环j = 1运行到j <= spc以打印空格。
  • 在空格循环之后,spc递减1
  • 另一个for循环k = 1运行到k <= col以打印数字。
  • 在数字循环之后,col递增2,并打印一个换行符。
  • 该过程持续进行,直到打印出具有递增数字和递减空格的金字塔图案。

示例

public class Pyramid5 {
   public static void main(String[] args) {
      int n = 5; // number of rows
      int spc = n-1; // initial space count
      int col = 1; // initial column count
      // loop to print the pyramid
      for(int i = 1; i <= n; i++) {
         for(int j = 1; j <= spc; j++) { // spaces
            System.out.print("\t"); 
         }
         spc--; // decrementing spaces
         for(int k = 1; k <= col; k++) { // numbers
            System.out.print(k + "\t");  
         }
         col += 2; // incrementing the column
         System.out.println();
      }
   }
}

输出

            1	
	 1  2  3	
      1  2  3  4  5	
   1  2  3  4  5  6  7	
1  2  3  4  5  6  7  8  9

结论

在本文中,我们讨论了五个用于打印金字塔图案的Java程序。这些图案解决方案将帮助我们解码图案问题的逻辑,并使我们能够独立解决其他图案。为了解决像这样的图案,我们使用循环和条件块。

更新于:2024年10月18日

694 次浏览

启动您的职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.