java 打印空心菱形

public class Demo {


public static void main(String[] args) {
//首先。把菱形看成上下两部分,上五下四,所以,第一个for循环有5次,第二个for循环有4次
for( int i = 1; i <= 5; i++){
//将空格和*分开看,看" "的变化i=1时,它是4,2的时候是3,找规律
for( int j = 1; j <= 5-i ; j++){
System.out.print(" ");
}
for( int k = 1; k <= 2*i-1 ; k++){//找规律,i是 1 3 5 7 9基数
if (k==1) {
System.out.print('*');
}else if (k==2*i-1) {
System.out.print('*');
}else if (k<2*i-1) {
System.out.print(" ");
}
}
//换一行
System.out.println();
}
for( int i = 1; i <= 4; i++){
for( int j = 1;j <= i; j++){//空格 1 2 3 4 so
System.out.print(" ");
}
for( int k = 1; k <= 2*(4 - i + 1 )-1; k++){//* 7 5 3 1 倒着来的基数
if (k==1) {
System.out.print('*');
}else if (k==2*(4 - i + 1 )-1) {
System.out.print('*');
}else if (k<2*(4 - i + 1 )-1) {
System.out.print(" ");
}
}
System.out.println();
}
}
}

猜你喜欢

转载自www.cnblogs.com/ITyangyang/p/10039521.html