利用for循环打印图形
利用for循环打印图形时,我们需要记住外层循环列,内层循环行,然后们需要做的不外乎是找到它们循环的规律罢了。
打印矩形图形
打印:
*****
*****
*****
*****
此图形是一个4行5列的矩形,比较简单
for(int i=1;i<=4;i++){ //定义4行
for(int j=1;j<=5;j++){ //定义5列
System.out.print(“* ”);
}
System.out.println();
}
打印三角形
*
* *
* * *
* * * *
其实这个三角形左边的空格是有规律的,现在我们把那些空格换成1
111*
11* *
1* * *
* * * *
所以可将图形拆解成两部分,一个以3,2,1,0的次序减少。一个以1,2,3,4的次序增加。
for(int i =1;i<=4;i++){ //此三角形外部一共四列
//打印空格
for(int j=1;j<=4-i;j++){ //利用i使j每次打印的次数减少1
System.out.print(" ");
}
//打印三角形
for(int m =1;m<=i;m++){ //利用i控制m使其每次打印增加1
System.out.print("* ");
}
System.out.println();
}
打印菱形
* 111*
* * 11* *
* * * 1* * *
* * * * = * * * *
* * * 1* * *
* * 11* *
* 111*
和打印三角形相同你只需要将其分块打印即可
//打印上面的上面的三角形
for(int i =1;i <=4;i++){
for(int q=1;q<5-i;q=q+1){
System.out.print(" ");
}
for(int j =1;j<=i;j=j+1){
System.out.print("* ");
}
System.out.println();
}
//打印下面的倒三角形
for(int i =1;i <=3;i++){
for(int q=1;q<=i;q=q+1){
System.out.print(" ");
}
for(int j =3;j>=i;j=j-1){
System.out.print("* ");
}
System.out.println();
}
打印空心菱形
* 111*
* * 11* *
* * 1* 1 *
* * = * 1 1 *
* * 1* 1 *
* * 11* *
* 111*
空心菱形和普通菱形最大的差别在于,一些特殊的地方把*变成空格就行即加入判断流程
//打印上半部分三角形
for(int i =1;i <=4;i++){
for(int q=1;q<5-i;q=q+1){
System.out.print(" ");
}
for(int j =1;j<=i;j=j+1){
//分别在第3行的第2个,第4行的第2个,第3个变空格
if(i==3&&j==2){
System.out.print(" ");
}else if(i==4&&j ==2){
System.out.print(" ");
}else if(i ==4&&j==3){
System.out.print(" ");
}
else{
System.out.print("* ");
}
}
System.out.println();
//s=s-1;
}
//打印下半部分三角形
for(int i =1;i <=3;i++){
for(int q=1;q<=i;q=q+1){
System.out.print(" ");
}
for(int j =3;j>=i;j=j-1){
//把下半部分三角形的第1行的第2个变空格
if(i==1&&j==2){
System.out.print(" ");
}else{
System.out.print("* ");
}
}
System.out.println();
}
如果觉得代码有些地方复杂,你可以做出优化,比如在打印菱形的时候,你可以将其分为图像部分和空格部分两个部分去打印。利用循环打印图像虽然简单,但是也很有意思,你有可以自己设计图像去打印。