如何用Java打印这个特定的金字塔?

如何用Java打印这个特定的金字塔?,java,Java,我希望代码输出如下所示: 6 5 4 3 2 1 5 4 3 2 1 4 3 2 1 3 2 1 2 1 1 请记住,我的代码通过之前的输入获取金字塔的大小 我的代码现在看起来像: for(int numRows=sizePyr;numRows>=1;numRows--){ for(int i=sizePyr;i>=numRows;i--){ System.out.print(i + " "); } System.out.println();

我希望代码输出如下所示:

6 5 4 3 2 1
5 4 3 2 1
4 3 2 1
3 2 1
2 1
1
请记住,我的代码通过之前的输入获取金字塔的大小

我的代码现在看起来像:

for(int numRows=sizePyr;numRows>=1;numRows--){
    for(int i=sizePyr;i>=numRows;i--){
        System.out.print(i + " ");
    }
    System.out.println();
}

对于第一行,您希望以
sizePyr
开始(就像您的内部循环一样),但希望以1结束(您的循环显然没有)。事实上,每一行都应该以1结尾。更改循环以反映这一点。

对于第一行,您希望以
sizePyr
开始(就像您的内部循环一样),但希望以1结束(您的循环显然没有)。事实上,每一行都应该以1结尾。更改循环以反映这一点。

将嵌套for循环更改为
for(int i=numRows;i>=1;i--)
修复了该问题

您希望开始使用当前numRows值打印i,然后一直打印到1

您当前的代码开始使用sizePyr打印i(在整个函数中为常量6),然后一直打印到numRows

    for(int numRows=sizePyr;numRows>=1;numRows--){
        for(int i=numRows; i >= 1; i--){
            System.out.print(i + " ");
        }
        System.out.println();
    }

将嵌套for循环更改为
for(int i=numRows;i>=1;i--)
修复了该问题

您希望开始使用当前numRows值打印i,然后一直打印到1

您当前的代码开始使用sizePyr打印i(在整个函数中为常量6),然后一直打印到numRows

    for(int numRows=sizePyr;numRows>=1;numRows--){
        for(int i=numRows; i >= 1; i--){
            System.out.print(i + " ");
        }
        System.out.println();
    }
按如下方式操作:

public class Main {
    public static void main(String[] args) {
        int sizePyr = 6;
        for (int numRows = sizePyr; numRows >= 1; numRows--) {
            for (int i = numRows; i >= 1; i--) {
                System.out.print(i + " ");
            }
            System.out.println();
        }
    }
}
或者,

public class Main {
    public static void main(String[] args) {
        int sizePyr = 6;
        for (int numRows = 1; numRows <= sizePyr; numRows++) {
            for (int i = sizePyr + 1 - numRows; i >= 1; i--) {
                System.out.print(i + " ");
            }
            System.out.println();
        }
    }
}
公共类主{
公共静态void main(字符串[]args){
int-sizePyr=6;
对于(int numRows=1;numRows=1;i--){
系统输出打印(i+“”);
}
System.out.println();
}
}
}
按以下步骤操作:

public class Main {
    public static void main(String[] args) {
        int sizePyr = 6;
        for (int numRows = sizePyr; numRows >= 1; numRows--) {
            for (int i = numRows; i >= 1; i--) {
                System.out.print(i + " ");
            }
            System.out.println();
        }
    }
}
或者,

public class Main {
    public static void main(String[] args) {
        int sizePyr = 6;
        for (int numRows = 1; numRows <= sizePyr; numRows++) {
            for (int i = sizePyr + 1 - numRows; i >= 1; i--) {
                System.out.print(i + " ");
            }
            System.out.println();
        }
    }
}
公共类主{
公共静态void main(字符串[]args){
int-sizePyr=6;
对于(int numRows=1;numRows=1;i--){
系统输出打印(i+“”);
}
System.out.println();
}
}
}

嵌套的for循环应该是
for(int i=numRows;i>=1;i--)
嵌套的for循环应该是
for(int i=numRows;i>=1;i--)