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();
}
}
}