我想打印一个从0开始到9结束的数字金字塔,当它等于9时,程序应该从0到9重新开始,依此类推...
这是我尝试过的:
public static void main(String[] args) {
for (int i = 0; i < 10; i += 2) {
for (int j = 0; j < 10 - i; j += 2) {
System.out.print(" ");
}
for (int k = 0; k <= i; k++) {
System.out.print(" " + k);
}
System.out.println();
}
}
打印内容
0
0 1 2
0 1 2 3 4
0 1 2 3 4 5 6
0 1 2 3 4 5 6 7 8
但我需要这个..
0
1 2 3
4 5 6 7 8
9 0 1 2 3 4 5...
最佳答案
您正在打印 k
,它从 0
开始,每次迭代 i
都会打印 0 1 2 3..
每次。相反,创建一个初始化为 0
的局部变量并打印它,并每次将其加一。在您的情况下,当 counter
值大于 9
时,您希望从 0
启动计数器,您可以通过包含 添加检查>if(计数器 > 9) 计数器 = 0;
。添加了以下代码:
int counter = 0;
for (int i = 0; i < 10; i += 2) {
for (int j = 0; j < 20 - i; j++) {
System.out.print(" ");
}
for (int k = 0; k <= i; k++) {
System.out.print(" " + counter++);
if(counter > 9) counter = 0;
}
System.out.println();
}
输出
0
1 2 3
4 5 6 7 8
9 0 1 2 3 4 5
6 7 8 9 0 1 2 3 4
关于java - 以 0 开头以 9 结尾的数字金字塔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38698631/