好不容易写出来的代码保存一下
package com.study.ming.studydemo.mianshi;
/**
* 打印菱形
*/
public class Demo2 {
public static void main(String[] args) {
printSquer(8,7,1);
printSquer(10,7,2);
printSquer(145,9,3);
printSquer(34,9,4);
printSquer(78,13,5);
}
/**
* 打印菱形
* @param height 高度
* @param width 宽度
* @param thin 厚度
*/
public static void printSquer(int height, int width, int thin){
if(height!=width){
height = Math.max(height, width);
}
if(height%2==0){
height-=1;
}
width = height;
int midel = width/2+1;
int space1 = width/2;
int space2 = 1;
int topdownX=1;
for (int i = height; i > 0; i--) {
int currentHeight = i;
for (int j = 0; j < space1; j++) {
System.out.print(" ");
}
if((height-thin<currentHeight && currentHeight<=height) ){
for (int j = 0; j < topdownX; j++) {
System.out.print("*");
}
}else if( (thin+1 > currentHeight && currentHeight>=1)){
for (int j = 0; j < topdownX; j++) {
System.out.print("*");
}
}else{
for (int j = 0; j < thin; j++) {
System.out.print("*");
}
for (int j = 0; j < space2; j++) {
System.out.print(" ");
}
for (int j = 0; j < thin; j++) {
System.out.print("*");
}
}
for (int j = 0; j < space1; j++) {
System.out.print(" ");
}
if(currentHeight>midel){
space1--;topdownX+=2;
} else{
space1++;topdownX-=2;
}
if(currentHeight>thin && currentHeight<height-thin+1){
if(currentHeight>midel){
space2+=2;
} else{
space2-=2;
}
}
System.out.println();
}
}
}