Java中使用嵌套for循环打印金字塔形状背后的逻辑
我已经修改了示例代码以获得我想要的输出,但是我不理解下面嵌套for循环背后的逻辑。有人能给我详细解释一下每个循环都在做什么,以及为什么循环是以这种方式构造的吗Java中使用嵌套for循环打印金字塔形状背后的逻辑,java,for-loop,nested,Java,For Loop,Nested,我已经修改了示例代码以获得我想要的输出,但是我不理解下面嵌套for循环背后的逻辑。有人能给我详细解释一下每个循环都在做什么,以及为什么循环是以这种方式构造的吗 public class Pyramid { public static void main(String[] args) { int size = 15; for (int i = 1; i <= size; i += 2) { for (int k = 0; k
public class Pyramid {
public static void main(String[] args) {
int size = 15;
for (int i = 1; i <= size; i += 2) {
for (int k = 0; k < (7 - i / 2); k++) {
System.out.print(" ");
}
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
output (below):
*
***
*****
*******
*********
***********
*************
***************
公共类金字塔{
公共静态void main(字符串[]args){
int size=15;
for(int i=1;i嵌套for循环,当您有如下伪代码时使用:
Do the following x times:
Do the following y times:
some stuff
Do the following z times:
some stuff
在您的特定情况下,棱锥体的大小是动态的,并存储在名为size
的变量中。要打印棱锥体,您必须打印size
乘以以下内容:
- 一些空白和一些
*
那么如何打印呢?计算应该有多少空格和*
并打印它们。因为空格和*
的数量是动态的,所以需要一个for循环来完成这项工作,而不是硬编码
你现在看到结构了吗
外循环打印金字塔的每一层。第一个内循环打印空白,第二个内循环打印缩进,这样会更清晰!绘制金字塔时,需要在每一行上绘制/2
空格后接1..i
星星。我对这个问题投了否决票,因为没有任何研究证据。请你的问题包括你所做的研究以及你遇到的困难。如果你能做到这一点,我可能收回我的否决票。你不明白外环的哪一部分?有一个问题lem使用维修性代码,上面写着int size=15
在顶部,好像可以通过更改该数字来配置三角形的大小,但后来它有编号7
硬编码;这应该更改为size/2
。此外,int size=15
应该更改为类似于size
始终是奇数。