我整个夏天都在上初学者Java课程。我需要使用作业循环制作金字塔。金字塔必须用星号制成;另外,金字塔的大小由用户确定。

这就是我现在要编写的代码。

public class Pyramid {

  public static void main(String[] args) {

    int size = 6;
    for (int x = 0; x < size; x++) {
        for (int y = x; y < size; y++) {

        }
        for (int z = 0; z <= x; z++) {
            System.out.print("*");

        }

        System.out.println("");
    }
  }
}


我的代码的问题是,每行中的星号数量错了一个。

最佳答案

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


将执行循环,直到z <= x不再为true。这意味着它将为z=0z=1z=2,...,z=x执行-这意味着它实际上执行了循环x+1次。 (下一个z z=x+1是使z为false的第一个z<=x。)

Java(以及其他使用类似C的for语句的语言)中的常规用法是从0开始,并在检查上限时使用<

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


您会遇到要使用<=的情况,并且会遇到要从1而不是0开始的情况,但是大多数带有整数索引的for循环都遵循这种形式。

关于java - 如何打印由用户输入确定的可缩放金字塔尺寸?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25047038/

10-12 23:17