java小程序,打印对角长为a的菱形

static void starsshape( double a ){ //a为对角长 for(int j=-(int)(a/2-1);j<a/2;j++){ for(int i=0;i<a;i++){ if((i >= Math.abs((int)(((a-1)/2/(a/2-1))*Math.abs(j))))&&(i<=a-2- Math.abs((int)(((a-1)/2/(a/2-1))*Math.abs(j))))){ System.out.print(“*”); }else if((i>a-2- Math.abs((int)(((a-1)/2/(a/2-1))*Math.abs(j))))){ System.out.println(); i=(int)a; continue; }else{ System.out.print(” “); } } } } 

算是算法把啊?囧

 

用解析几何的方式

 

大于右边的线就换行

 

大于左边的线就打印星号

 

小于左边的线就打印空格

点赞