for 循环--之--打印星星练习

这篇博客介绍了如何使用for循环在Java中打印不同类型的图形,包括正方形、等腰三角形、空心等腰三角形和菱形。通过调整循环条件和嵌套结构,实现了打印这些图形的不同形态。

---------打印星星,for循环---------

//打印正方形

/*for(int j=1; j<=5; j++){

for(int a=1; a<=5; a++){

System.out.print("*");

}

System.out.println();

}

 

for(int j=1; j<=5; j++){

for(int a=1; a<=2*j-1; a++){

System.out.print("*");

}

System.out.println();

}

System.out.println();

 

for(int j=1; j<=5; j++){

for(int a=1; a<=10-(2*j-1); a++){

System.out.print("*");

}

System.out.println();

}*/

 

 

 

/* ---------打印等腰三角形---------

外层循环控制行数

for(int i=1; i<=5; i++){

//控制空格

for(int j=1; j<=5-i; j++){

System.out.print(" ");

}

//控制星星

for(int j=1;j<=2*i-1;j++){

System.out.print("*");

}

System.out.println();

}*/

 

//---------打印等空心腰三角形---------

for(i=1; i<=5; i++){

for(j=1; j<=5-i; j++){

System.out.print(" ");

}

for(k=1; k<=2*i-1;k++){

if(i==1 || i==5){

System.out.print("*");

}else if(k==1 || k==2*i-1){

System.out.print("*");

}else{

System.out.print(" ");

}

}

System.out.println();

}

 

/* ---------打印菱形---------

System.out.println("请输入菱形的行数,只能输出奇数");

int n = input.nextInt();

int top = n / 2 + 1;

//打印菱形

for(int i=1; i<=top; i++){

//控制空格

for(int j=1; j<=top-i; j++){

System.out.print(" ");

}

//控制星星

for(int j=1;j<=2*i-1;j++){

System.out.print("*");

}

System.out.println();

}

 

for(int i=1; i<=top-1; i++){

//控制空格

for(int j=1; j<=i; j++){

System.out.print(" ");

}

//控制星星

for(int j=1; j<=n-2*i; j++){

System.out.print("*");

}

System.out.println();

}*/

 

 

//打印空心菱形
for(i=1; i<=5; i++){
//j表示每行"*"号前面的空格数
for(j=1; j<=5-i; j++){
System.out.print(" ");
}
//k表示每行要打印的"*"号
for(k=1; k<=2*i-1; k++){
//如果要打印的"*"是第一个或最后一个则打印出来
if(i==1){
System.out.print("*");
}else if(k==1 ||k==2*i-1){
System.out.print("*");
}else{
System.out.print(" ");
}

}
System.out.println();
}
for(i=1; i<5; i++){
for(j=1; j<=i; j++){
System.out.print(" ");
}
//下半部分每行总的"*"数
for(k=1; k<=2*(5-i)-1; k++){
if(k==1 || k==2*(5-i)-1){
System.out.print("*");
}else{
System.out.print(" ");
}

}
System.out.println();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值