Java 程序创建金字塔和模式

javaobject oriented programmingprogramming更新于 2024/8/6 18:35:00

如果有人想在 Java 编程语言中打下坚实的基础。那么,了解循环的工作原理是必要的。此外,解决金字塔模式问题是增强 Java 基础知识的最佳方法,因为它包括大量使用 for 和 while 循环。本文旨在提供一些 Java 程序,借助 Java 中可用的不同类型的循环来打印金字塔图案。

用于创建金字塔图案的 Java 程序

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

  • 倒星金字塔

  • 星形金字塔

  • 数字金字塔

让我们一一讨论它们。

图案 1:倒星金字塔

方法

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

  • 接下来,将空间的初始计数定义为 0,将星号的初始计数定义为"n + n – 1",以便我们可以将列数保持为奇数。

  • 创建一个嵌套的 for 循环,外部循环将运行到"n",第一个内部 for 循环将打印空间。打印后,我们将在每次迭代中将空间计数增加 1。

  • 再次进行另一个内部 for 循环以打印星号。打印后,我们将星号计数减少 2。

示例

public class Pyramid1 {
   public static void main(String[] args) {
    int n = 5;
    int spc = 0; // 初始空间计数
    int str = n + n - 1; // 初始星星计数
    // 循环打印星形金字塔
    for(int i = 1; i <= n; i++) {
        for(int j = 1; j <= spc; j++) { // 空间
        S	ystem.out.print("\t");
        }
        spc++; // 增加空间
        for(int k = 1; k <= str; k++) { // 星星
        	System.out.print("*\t");
        }
        str -= 2; // 减少星星
        System.out.println();
    }
   }
}

输出

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

图案 2:星形金字塔

方法

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

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

  • 再次进行另一个内部 for 循环,它将运行到星星数并打印星星。打印后,我们将星星数增加 2。

示例

public class Pyramid2 {
   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();
      }
   }
}

输出

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

模式 3:数字金字塔

方法

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

示例

public class Pyramid3 {
   public static void main(String[] args) {
        int n = 5; // 行数
        int spc = n-1; // 初始空间计数
        int col = 1; // 初始列数
        // 循环打印金字塔
        for(int i = 1; i <= n; i++) {
        for(int j = 1; j <= spc; j++) { // 空间
        	System.out.print("\t");
        }
        spc--; // 减少空间
        for(int k = 1; k <= col; k++) { // 数字
        	System.out.print(k + "\t");
        }
        col += 2; // 增加列数
        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 程序。这些模式解决方案将帮助我们解码模式问题的逻辑,并使我们能够自行解决其他模式。为了解决这些模式,我们使用循环和条件块。


相关文章