用Java打印实心菱形
前两天面试时的一道题
打印效果如下:
*
***
*****
*******
*****
***
*
分析本质是下面这个图:
AAAB
AABBB
ABBBBB
BBBBBBB
ABBBBB
AABBB
AAAB
思路是把菱形分两部分,前面四行是一部分,后面三行是一部分。
我脑子确实不灵活,想了有俩小时才想出来:
public class Test{
public static void main(String[] args) {
for (int a=1,b=3,c=1;a<=4 && b>=0 && c<=7;a++,b--,c=c+2){
for(int d=b;d>=1;d--){
System.out.print(' ');
}
for(int e=1;e<=c;e++){
System.out.print('*');
}
System.out.println();
}
for (int a=1,b=5;a<=3 && b>=1;a++,b=b-2){
for(int c=1;c<=a;c++){
System.out.print(' ');
}
for(int d=b;d>=1;d--){
System.out.print('*');
}
System.out.println();
}
}
}