package 打印图形; public class Jinzita { public static void main(String[] args) { int i, j, k; for(i = 0; i < 5; i++) { for(j = 0; j < (5-i-1); j++) { System.out.print(" "); } for(k = 0; k < (2*i+1); k++) { System.out.print(i+1); } System.out.println(); } } }
思路理解:第一个for打印每行,第二个打印前面的空格,第三个打印行号 ,菱形思路也一样
打印空心的图形注意打印 数字 的for循环里判断是否为第一个和最后一个即可,只打印第一个数字和最后一个数字,其余为空格,(PS:第一行的数字,和最后一行的数字直接打印即可)
拓展:
package 打印图形; public class KongXinLingxing { public static void main(String[] args) { int i, j, k; for(i = 0; i < 5; i++) {//上半个菱形 for(j = 0; j < (5-i-1); j++) { System.out.print(" "); } for(k = 0; k <(2*i+1); k++) { if(i == 0) { System.out.print(i+1); }else if(k == 0 || k == 2*i) { System.out.print(i+1); }else { System.out.print(" "); } } System.out.println(); } for(i = 4; i >=0; i--) {//下半个菱形 for(j = 0; j < (5-i-1); j++) { System.out.print(" "); } for(k = 0; k <(2*i+1); k++) { if(i == 0) { System.out.print(i+1); }else if(k == 0 || k == 2*i) { System.out.print(i+1); }else { System.out.print(" "); } } System.out.println(); } } }