我正在尝试制作一个数字金字塔,但要找到合适的条件有一些问题。
int n = scanner.nextInt();
int a;
for(int q = 1; q <= n; q++)
{
for(int space = 0; space < n-q; space++){
System.out.print(" ");
}
a = 1;
for(int p = 1; p <= q; p++){
if((p <= q / 2 && p != 1)){
a++;
}
else if((p != 1) && (p > q / 2 + 1)){
a--;
}
System.out.print(a+" ");
}
System.out.println();
}
它会创建一个合适的金字塔,但不均匀的行会停止增加到早期。
假设结果:
1
1 1
1 2 1
1 2 2 1
1 2 3 2 1
我的代码的结果是
1
1 1
1 1 0
1 2 2 1
1 2 2 1 0
1 2 3 3 2 1
1 2 3 3 2 1 0
1 2 3 4 4 3 2 1
1 2 3 4 4 3 2 1 0
1 2 3 4 5 5 4 3 2 1
答案 0 :(得分:1)
试试这个,它有效:
int number = 5;
for (int i = 0; i < number; i++) {
int x = 1;
for (int j = 0; j < (number + i); j++) {
if (j < number - i - 1) {
System.out.print(" ");
} else {
System.out.print(x);
if (j < (number - 1)) {
x++;
} else {
x--;
}
}
}
System.out.println(" ");
}