总共两个大的for循环中有小的,对吧? 第一个大for是打印菱形的上半部for。 (I=1; i=4; I ) )该小for是每行前面的空格for(j=1; j=4-i; j ) System.out.print (' ); 这是打印星星的for(j=1; j=2*i-1; j ) system.out.print('* '; 这是打印完一行的换行符System.out.println (' ); 下面是一样的,但是每行的空间和星星的数量和上面是翻转的for(I=1; i=3; I ) for(j=1; j=i; j ) System.out.print (' ); for(j=1; j=7-2*i; j ) system.out.print('* '; System.out.println (' '; }=============================import Java.util.scanner; public class print {/* * * @ param args */publicstaticvoidmain (string [ ] args ({ scanners in=new scanner ) system.in } int l=sin.nextInt (; if(L%2==0) { System.out.println输入了偶数,因此当前1已转换为奇数!' ); l=l 1; }for(intI=1; i=l; I ) if(I%2==1) for ) intj=1; j=(L-I )/2; j({system.out.print (' ) ); }for(intk=1; k=i; k () system.out.print('# '; } } else { System.out.println (; } } System.out.println (; for(intI=L; i=1; I--}{if(I%2==1) ) for ) intj=1; j=(L-I )/2; j({system.out.print (' ) ); }for(intk=1; k=i; k () system.out.print('# '; } } else { System.out.println (; } } } }