我需要一个完整的金字塔,但我只能得到它的右边。假设输出示例为4,如下所示:
1
212
32123
4321234
我对java for循环还是个新手,所以我试过做负增量,但是不起作用,有没有一种方法可以反向打印它呢?
import java.util.Scanner;
public class Pyramid {
public static void main(String [] args) {
System.out.println("Enter a number 1 to 15");
Scanner input = new Scanner(System.in);
int input1 = input.nextInt();
if (input1 >= 1 && input1 <=15) {
for(int column =1; column <input1; column++) {
for(int row = 1; row < column; row++) {
System.out.print(row + " ");
}
System.out.print(column);
System.out.println();
}
}
}
}
发布于 2019-04-09 03:54:28
你需要更多的循环,而且你是逐行工作的,而不是一列一列地工作,所以外部循环应该使用row
。
内部循环用于:
for(int row = 1; row <= input1; row++) {
for(int space = 0; space < input1-row; space++) {
System.out.print(" ");
}
for(int desc = row; desc > 1; desc--) {
System.out.print(desc);
}
for(int asc = 1; asc <= row; asc++) {
System.out.print(asc);
}
System.out.println();
}
https://stackoverflow.com/questions/55580601
复制相似问题