来接分的... public class Test{ public static void main(String[] args){ int j=7; for(int i=0;i<j*j+j;i++){ int l=Math.abs(i/(j+1)-j/2); int n=j/2-Math.abs(i%(j+1)-j/2); if(i%(j+1)==j) { System.out.println(); } else { System.out.print(n<l?" ":"*"); } } } }
public class Test{
public static void main(String[] args){
int j=7;
for(int i=0;i<j*j+j;i++){
int l=Math.abs(i/(j+1)-j/2);
int n=j/2-Math.abs(i%(j+1)-j/2);
if(i%(j+1)==j) {
System.out.println();
} else {
System.out.print(n<l?" ":"*");
}
}
}
}
* 打印一个指定高、宽的空心菱形。
* @param height 所要绘制空心菱形的高度
* @param width 所要绘制空心菱形的宽度
*/
public static void diamond(int height,int width){
for(int y=0;y<height+1;y++){ /*y轴坐标循环*/
for(int x=0;x<width+1;x++){ /*x轴坐标循环*/
if(y*-1*width==(x-width/2)*height||
(y-height/2)*width==x*height||
(y-height)*width==(x-width/2)*-1*height||
y*width==(x-width/2)*height){
/*绘制菱形边界*/
System.out.print(areaShape);
}
else{ /*绘制三角形外部*/
System.out.print(' ');
}
}
System.out.println(); /*换行输出*/
}
}
/**
* 打印一个指定高、宽的实心菱形。
* @param height 所要绘制实心菱形的高度
* @param width 所要绘制实心菱形的宽度
*/
public static void solidDiamond(int height,int width){
for(int y=0;y<height+1;y++){ /*y轴坐标循环*/
for(int x=0;x<width+1;x++){ /*x轴坐标循环*/
if(y*-1*width<=(x-width/2)*height&&
(y-height/2)*width<=x*height&&
(y-height)*width<=(x-width/2)*-1*height&&
y*width>=(x-width/2)*height){
/*绘制菱形边界*/
System.out.print(areaShape);
}
else{ /*绘制三角形外部*/
System.out.print(' ');
}
}
System.out.println(); /*换行输出*/
}
}自己写测试类吧,超级简单的!
public static void main(String[] args){
System.out.println(" * 1");
System.out.println(" *** 3");
System.out.println(" ****** 6");
System.out.println(" ********* 9");
System.out.println(" ****** 6");
System.out.println(" *** 3");
System.out.println(" * 1"); }
}
对应函数: static int a(int i){
if (i ==1)
value = 1;
if (i ==2)
value = 3;
if (i ==3)
value = 6;
if (i ==4)
value = 9;
if (i >4)
value = a(i-2)+a(i-1)-a(i-3)+1;
return value;
}
太没技巧性而言了吗