【发布时间】:2019-04-25 19:01:18
【问题描述】:
我对编程和 Java 还是很陌生。我需要打印一个关于宽度和高度参数的星号和点三角形。
到目前为止,我只能用一个参数(高度)打印星号三角形。 (假设 6 作为函数的参数)
这是我的代码:
public static void main(String[] args)
{
for(int i=0; i<6; i++)
{
for(int j=6; j>=i; j--)
{
System.out.print(".");
}
for(int x=0; x<=(2*i); x++)
{
System.out.print("*");
}
for(int k=6; k>=i; k--)
{
System.out.print(".");
}
System.out.print("\n");
}
}
我想为函数提供两个参数(宽度和高度)。但是,我无法管理添加第二个参数。
预期的输出是(带宽度-11-和高度-8-参数):
triangle 11 8
.....*.....
....**.....
...****....
...*****...
..******...
.********..
.*********.
***********
但是,我得到了以下输出(带有一个只有高度-6-的参数):
triangle 6
.......*.......
......***......
.....*****.....
....*******....
...*********...
..***********..
你能帮帮我吗?如何向我的函数添加第二个参数并解决我的问题? 非常感谢!
【问题讨论】:
-
我会说,在你的第一个例子中,宽度是 11,高度是 8。我说的对吗?
-
是的,你是对的。问题已编辑。
-
我们如何用伪代码来模拟期望的结果?我们需要一个程序,它在顶层绘制一个星号,在随后的每个层次上加上两个星号。它应该在其他任何地方画一个句点。
-
要注意有height和width参数。这意味着我们不能在每个级别添加两个星号。如果是这样,一个参数就足够了。但事实并非如此。让我解释一下三角形 11 8 示例输出:它从顶部的 1 个星号开始,但看到第二行有 2 个星号,第三行有 4 个星号,依此类推。这里的重点是必须有11个星号,在三角形的末端总共有8行。增加多少星号并不重要。您应该在增加星号的同时保持三角形形状。