打印小屋星形图案的程序


解决有趣的模式问题可以增强对循环的理解。它们至关重要,因为它们有助于构建特定编程语言的坚实基础。各种类型的模式,包括基于数字、基于星号和基于字母的模式。本文将指导您使用 Java 中的嵌套 for 循环来解决小屋星形图案。

打印小屋星形图案的 Java 程序

由于我们将使用嵌套 for 循环来解决问题,因此有必要讨论其语法。

语法

for ( initial expression; conditional expression; increment/decrement expression ){
   for ( initial expression; conditional expression; increment/decrement expression ) {
      // code to be executed
   }
}

初始表达式 - 循环开始时执行一次。

条件表达式 - 代码将在条件表达式为真时执行。

增量/减量表达式 - 用于增加/减少循环变量。

图案

方法

  • 将整个图案分成两部分。第一部分是上三角形,第二部分是下矩形。

  • 声明并初始化一个整数“n”,它指定上部和下部部分的行数。

  • 声明并初始化空格和星号的初始计数。

  • 现在,对于上三角形部分,定义一个嵌套 for 循环。外部 for 循环将运行到“n”,第一个内部循环将运行到空格计数并打印空格。打印后,将空格计数减 1。

  • 第二个内部 for 循环将运行到星号计数并打印星号。打印后,将星号计数增加 2。

  • 再次创建另一个嵌套 for 循环。外部 for 循环将运行到“n”,第一个内部循环将打印左侧矩形形状,第二个内部循环将打印空格,最后一个内部循环将打印右侧矩形形状。

示例

public class Hut {
   public static void main(String[] args) {
      // count of upper triangle row and lower rectangle row 
      int n = 5; 
      int spc = n-1; 
      // initial count of space
      int str = 1; 
      // initial count of star
      // upper triangular shape
      for(int i = 1; i <= n; i++) {
         for(int j = 1; j <= spc; j++) {
            // for space
            System.out.print("\t"); 
         }
         spc--;
         for(int k = 1; k <= str; k++) { 
            // for star
            System.out.print("*\t");  
         }
         str += 2;
         System.out.println(); 
         // to move the cursor to next line
      }
      // lower rectangular shape
      for (int i = 0; i < n; i++) {
         // for left rectangular shape
         for (int j = 0; j < n/2; j++) { 
            System.out.print("*\t");
         }
         // for space
         for (int j = 0; j < 5; j++) {
            System.out.print("\t");
         }
         // for right rectangular shape
         for (int j = 0; j < n/2; j++) {
            System.out.print("*\t");
         }
         System.out.println(); 
         // to move the cursor to next line
      }
   }
}

输出

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

结论

在本文中,我们讨论了小屋星形图案的解决方案。我们借助嵌套 for 循环解决了这个问题。这将帮助您解码模式问题的逻辑,并使您能够自己解决其他模式。

更新于: 2023年5月16日

635 次浏览

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告