关于星型模式的java
我正在试着打印下面的星形图案
*
***
*****
***
*
我正在使用以下逻辑打印:
*
***
*****
上半年代码:
int i, j;
for (i = 1; i <= 3; i++) {
for (j = 1; j <= i; j++)
System.out.print("*");
for (j = i - 1; j >= 1; j--)
System.out.print("*");
System.out.println();
}
但我仍然不知道如何打印整个结构
# 1 楼答案
你只需要把循环写反,从上限-1开始。参见下面的代码:
# 2 楼答案
模式由
N * 2 - 1rows
组成。对于每一行,列的顺序是递增的,直到Nth row
。在Nth row columns
之后,按降序打印一步一步的描述逻辑打印半钻石星图案
输入要从用户打印的列数。将其存储在一个变量中,比如
N
为每一列声明一个变量作为循环计数器,比如
columns = 1
要遍历行,请从
1 to N * 2 - 1
运行外部循环。循环结构应该看起来像for(i=1; i<N*2; i++)
要遍历列,请从1到列运行内部循环。循环结构应该看起来像
for(j=1; j<=columns; j++)
。在这个循环内打印星号打印完一行的所有列后,移到下一行
在内部循环检查
if(i <= N)
之后,增加columns
,否则减少1输出:
# 3 楼答案
尽可能采取简单的步骤或许是有意义的
首先,你需要五行,所以
接下来,在第
i
行上,确定要放置的星号的数量。第3行上有五个星号,在该行上方或下方的每一步少两个星号然后,将它们放在一个循环中:
并包括一条新线: