public class TestFor{
public static void main(String[] args){
//矩形
System.out.println("矩形");
for(int j=1;j<=4;j++){//控制4行
System.out.println();//打印空1行
for(int i=1;i<=5;i++){//打印左边空5距离
System.out.print(" ");
}
for(int i=1;i<=6;i++){//每行打印6个*
System.out.print("*");
}
}
System.out.println("平行四边形(四行五列)");
//平行四边形(四行五列)
for(int j=1;j<=4;j++){//控制行数
System.out.println(" ");//每打印完一行,打空一行
for(int i=1;i<=(4-j);i++){
System.out.print(" ");
//每行的空格数-1 (空格数最小等于行数)
}
for(int i=1;i<=5;i++){//每行打印5个*
System.out.print("*");
}
}
System.out.println("三角形");
//三角形
for(int j=1;j<=4;j++){//j:控制行数
System.out.println();
for(int i=1;i<=(9-j);i++){//i 控制空格数
System.out.print(" ");
}
for(int i=1;i<=(2*j-1);i++){//i 控制*的个数
System.out.print("*");
}
}
//菱形
System.out.println("菱形");
//上面三角
for(int j=1;j<=4;j++){//j:控制行数
for(int i=1;i<=(9-j);i++){//i 控制空格数
System.out.print(" ");
}
for(int i=1;i<=(2*j-1);i++){//i 控制*的个数
System.out.print("*");
}
System.out.println();
}
//下面三角
for(int j=1;j<=4;j++){//j:控制行数
for(int i=1;i<=(j+5);i++){//i 控制空格数
System.out.print(" ");
}
for(int i=1;i<=(7-2*j);i++){//i 控制*的个数
System.out.print("*");
}
System.out.println();
}
//空心菱形
System.out.println("空心菱形");
//上面三角
for(int j=1;j<=4;j++){//j:控制行数
for(int i=1;i<=(9-j);i++){//i 控制空格数
System.out.print(" ");
}
for(int i=1;i<=(2*j-1);i++){//i 控制*的个数
if(i==1||i==(2*j-1)){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println();
}
//下面三角
for(int j=1;j<=4;j++){//j:控制行数
for(int i=1;i<=(j+5);i++){//i 控制空格数
System.out.print(" ");
}
for(int i=1;i<=(7-2*j);i++){//i 控制*的个数
if(i==1||i==(7-2*j)){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println();
}
//菱形:先打印四边形,再打印菱形
int size=17;
int startNum=size/2+1;//起始列号
int endNum=size/2+1;//结束列号
boolean flag=true;
for(int j=1;j<=size;j++){
for(int i=1;i<=size;i++){
if(i==startNum||i==endNum){
System.out.print("*");
}else{
System.out.print(" ");
}
}
//换行
System.out.println();
if(endNum==size){
flag=false;
}
if(flag){//flag==ture,相当于菱形上半侧
startNum--;
endNum++;
}
else{
startNum++;
endNum--;
}
}
}
}