Java 打印房屋星形图案
解决有趣的图案问题可以增强对循环的理解。它们是必需的,因为它们帮助建立对特定编程语言的坚实基础。有各种各样的图案,包括数字、星星和字母图案。本文将指导您使用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循环。外循环运行到’n’,第一个内循环运行到空格计数并打印空格。打印完后,将空格计数减1。
-
第二个内循环运行到星号计数并打印星号。打印完后,将星号计数增加2。
-
再次创建另一个嵌套的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循环解决了这个特定问题。这将帮助你解码图案问题的逻辑,并使你能够自己解决其他图案。