- /*
- 图形打印原理:把菱形拆分成两个等边三角形,分别打印上下两个三角形,组合成菱形
- */
- class Demo13_ForFor {
- public static void main(String[] args) {
-
-
- //打印空心菱形
- for (int x = 1;x <= 5 ;x++ ) {
- //外层循环控制行数,即为上半个三角形的行数
- // 内循环一控制空格的输出
- for (int y = x;y <= 4 ;y++ ) {
- System.out.print(" ");
- }
- for (int z = 1;z <= 2*x-1 ;z++ ) {
- //判断是本行的第一个个最后一个打印*
- if (z == 1 || z == 2*x-1) {
- System.out.print("* ");
- }else {
- //其他的都输入空格
- System.out.print(" ");
- }
- }
- System.out.println();
- }
- //外层循环控制行数,下半个三角形比上面的少一行,所以是4
- for (int a = 1;a <= 4 ;a++ ) {
-
- for (int b = 1;b <= a ;b++ ) {
- System.out.print(" ");
- }
- //第一个为1,最后一个是(5-a)*2-1,所以不用<=(5-a)*2
- for (int c = 1;c < (5-a)*2 ;c++ ) {
-
- if (c == 1 || c == (5-a)*2-1) {
- System.out.print("* ");
- }else {
- System.out.print(" ");
- }
-
- }
- System.out.println();
- }
- }
- }
复制代码 |