我应该创建一些模式 - 有点三角形 - 使用基于给定数字n的循环。
例如,如果给定的数字n是3,则模式应该是这样的:
**
*##*
*####*
以下是我目前正在处理的一段代码。
public static void patterPrinters(int n) {
for (int k = 0; k < n; k++) {
for ( int x = n; x > k + 1; x--) {
System.out.print(" ");
}
for ( int z = n - k; z <= n; z++) {
System.out.print("**");
}
System.out.print("\n");
}
}
}
到目前为止,我能够制作出类似的形状,但当然,它充满了星星(*),而它们之间没有数字符号(#)。喜欢:
**
****
******
有人能给我一个暗示,就像我应该从这里做的那样吗?
答案 0 :(得分:2)
public static void patterPrinters(int n) {
int i,j,k;
for( i=0;i<n;i++)
{
for(k=0;k<((n-1)-i);k++)
{
System.out.print(" ");
}
System.out.print("*");
for(j=0;j<(i*2);j++)
{
System.out.print("#")
}
System.out.print("*\n");
}
}
检查一下。 一切都好。
答案 1 :(得分:0)
提示:
如果您设法打印了正确的形状,但仅使用*
,则可以通过在每行的开头和结尾打印一个*
来轻松解决此问题,并在它们之间打印x- 2 #
s,其中x是您当前在每行中打印的*
的数量。
答案 2 :(得分:0)
public static void patterPrinters(int n)
{
for (int k = 0; k < n; k++)
{
for (int x = n; x > k + 1; x--)
{
System.out.print(" ");
}
System.out.print("*");
for (int col = 0; col < k; col++)
{
System.out.print("##");
}
System.out.print("*\n");
}
}