gpt4 book ai didi

java - 使用java for循环绘制形状

转载 作者:行者123 更新时间:2023-12-02 04:48:13 25 4
gpt4 key购买 nike

我刚刚开始学习 Java,我的老师要求我使用嵌套 for 循环绘制以下两个形状。

     *     
***
*****
*******
*********
***********

*
* *
* *
* *
* *
***********

但是,我能够使用以下代码绘制第一个图形。

class TriangleDrawing{

public static void main(String args[]){

for(int x = 1; x <= 6; x++){

for(int y = 1; y <= (6-x); y++){

System.out.print(" ");

}

for(int z = 0; z < (x + (x-1)); z++){

System.out.print("*");

}

for(int p = 1; p <= (6-x); p++){

System.out.print(" ");

}

System.out.println();

}

}

}

我在绘制第二个图形时遇到问题。
谁能帮我通过使用嵌套 for 循环来绘制该图?

最佳答案

在我看来,第二个数字只是第一个数字,内部星号被空格替换。

这意味着您只需更改 z 循环,以便在除第一行和最后一行之外的每一行上:

  • 打印一个星号;
  • 打印 N 个空格,其中 N 从第二行的 1 开始,每行增加 2;和
  • 打印最后的星号。

对于第一行和最后一行,代码需要保持不变。对于前者,您只需要一个星号,对于后者,您需要所有星号。

顺便说一句,第三个循环是完全没有必要的。在行尾放置空格(在本例中)是没有意义的,因为没有人能看到它们。

<小时/>

由于这是类作业,我建议您尝试自己实现。为了完整起见,我提供了以下解决方案:

public class Test {
public static void main(String args[]){
int sz = 6;

// First line "*"

for (int y = 1; y < sz; y++)
System.out.print(" ");
System.out.println("*");

// Middle lines "* *"

for (int x = 2; x < sz; x++) {
for (int y = 1; y <= sz - x; y++)
System.out.print(" ");
System.out.print("*");
for (int y = 1; y < x * 2 - 2; y++)
System.out.print(" ");
System.out.println("*");
}

// Final line "*****"

System.out.print("*");
for (int y = 1; y < sz * 2 - 2; y++)
System.out.print("*");
System.out.println("*");
}
}

关于java - 使用java for循环绘制形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29486087/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com