通过JAVA代码打印出如下图形
*
* *
* * *
* * * *
* * * * *
第一步:先通过最笨的法子 实现上述金字塔形状
System.out.println(" * ");
System.out.println(" * * ");
System.out.println(" * * * ");
System.out.println(" * * * * ");
System.out.println(" * * * * * ");
通过上述代码即可实现,但显示不是我们要的代码;
第二步:我们逐步程序化一些步骤,如下:
System.out.println(" * ");
System.out.println(" * * ");
System.out.println(" * * * ");
System.out.println(" * * * * ");
//System.out.println(" * * * * * ");
for (int i = 0; i < 5; i++) System.out.print(" ");
for (int i = 0; i < 5; i++) System.out.print("* ");
System.out.println();
根据最后一行的空格及星号的规律 我们可以把最后一行的代码做如上变动,执行结果发现跟目标是一致的
第三步:同上原理 我们继续,代码如下:
System.out.println(" * ");
System.out.println(" * * ");
System.out.println(" * * * ");
//System.out.println(" * * * * ");
for (int i = 0; i < 6; i++) System.out.print(" ");
for (int i = 0; i < 4; i++) System.out.print("* ");
System.out.println();
//System.out.println(" * * * * * ");
for (int i = 0; i < 5; i++) System.out.print(" ");
for (int i = 0; i < 5; i++) System.out.print("* ");
System.out.println();
执行代码 结果还是符合目标的
第四步: 根据如上规律 我们大致可以想到 代码的总逻辑大致如下:
for (int i = 0; i < 5; i++) {
for (int j = 0; j < M; j++) {
System.out.print(" ");
}
for (int k = 0; k < N; k++) {
System.out.print("* ");
}
System.out.println();
}
只不过代码里面的 M、N 需要待定,我们接着找规律可以发现
// i : 0 1 2 3 4
// M : 9 8 7 6 5 M=9-i
// N : 1 2 3 4 5 N=i+1
应该不难发现上述的规律;
至此,我们的代码应该就可以出来了
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 9-i; j++) {
System.out.print(" ");
}
for (int k = 0; k < i+1; k++) {
System.out.print("* ");
}
System.out.println();
}
类似的 如果想要打印出来如下图形呢:
A
ABA
ABCBA
ABCDCBA
ABCDEDCBA
下面给出参考过程代码
// i 0 1 2 3 4 5
// j 8 7 6 5 4 3
// k 0 1 2 3 4 5
// l 0 1 2 3
for (int i = 1; i <= 5; i++) {
for (int j = 0; j < 8-i; j++) System.out.print(" ");
for (int k = 0; k < i; k++) System.out.print((char)('A'+k));
for (int l = i-2; l >= 0; l--) System.out.print((char)('A'+l));
System.out.println();
}
// for (int i = 0; i < 4; i++) System.out.print(" ");
// for (int i = 0; i < 4; i++) System.out.print((char)('A'+i));
// for (int i = 3-1; i >= 0; i--) System.out.print((char)('A'+i));
// System.out.println();
//
//
// for (int i = 0; i < 3; i++) System.out.print(" ");
// for (int i = 0; i < 5; i++) System.out.print((char)('A'+i));
// for (int i = 4-1; i >= 0; i--) System.out.print((char)('A'+i));
// System.out.println();
动手试试吧!
至此结束!谢谢!!