打印三角形、菱形、空心菱形

三角形、菱形、空心菱形打印玄学规律 【打印三角形、菱形、空心菱形】方法来源B站UP主放慵且行衣
一、直角三角形 打印三角形、菱形、空心菱形
文章图片

图一
如图所示,设其总行数为n,即n=3
设其对应的行数、列数为i、j
即:第一行有1个“”,表示为i=1,j=1;
第二行有2个“**”,表示为i=2,j=2;
第三行有3个“
***”,表示为i=3,j=3。 如下图所示:
打印三角形、菱形、空心菱形
文章图片

所以综上所述i、j之间的规律为i=j,所以用for循环嵌套,实现代码如下:

for(int i=1; i<=3; i++){ for(int j=1; j<=i; j++){ System.out.print("*"); } System.out.println(); }

划重点:j<=i
打印三角形、菱形、空心菱形
文章图片

二、倒直角三角形 打印三角形、菱形、空心菱形
文章图片

图二
如图所示,设其总行数为n,即n=3
设其对应的行数、列数为i、j
即:第一行有3个“***”,表示为i=1,j=3;
第二行有2个“**”,表示为i=2,j=2;
第三行有3个“
”,表示为i=3,j=1。 如下图所示:
打印三角形、菱形、空心菱形
文章图片

所以综上所述i、j之间的规律为j=n-i+1,又∵ n=3,∴ j=3-i+1
所以用for循环嵌套,实现代码如下:
for(int i=1; i<=3; i++){ for(int j=1; j<=3-i+1; j++){ System.out.print("*"); } System.out.println(); }

划重点:j<=3-i+1
打印三角形、菱形、空心菱形
文章图片

三、等腰三角形 打印三角形、菱形、空心菱形
文章图片

图三
如图所示,设三角形的总行数为n,即n=3;
设其对应的行、列分别为i、j
即:第一行有1个※,表示为i=1,j=1;
第二行有3个※,表示为i=2,j=3;
第三行有5个※,表示为i=3,j=5。 如图所示:
打印三角形、菱形、空心菱形
文章图片

综上所述,寻找i和j的关系,可以表示为:j=2*i-1
而该图形前面带有空格,前面的空格可视为一个倒三角形(参照图二)结合而成。
所以用for循环嵌套,代码实现如下:
for(int i=1; i<=3; i++){ for(int k=1; k<3-i+1; k++){ System.out.print(" "); } for(int j=1; j<=2*i-1; j++){ System.out.print("*"); } System.out.println(); }

划重点:j<=2*i-1
打印三角形、菱形、空心菱形
文章图片

四、倒等腰三角形 打印三角形、菱形、空心菱形
文章图片

图四
如图所示,设三角形的总行数为n,即n=3;
设其对应的行、列分别为i、j
即:第一行有5个※,表示为i=1,j=5;
第二行有3个※,表示为i=2,j=3;
第三行有1个※,表示为i=3,j=1。 如图所示:
打印三角形、菱形、空心菱形
文章图片

综上所述,寻找i和j的关系,可以表示为:j=(n-i)*2+1,又n=3,所以j=(3-i)*2+1
而该图形前面带有空格,前面的空格可视为一个倒三角形(参照图二)结合而成。
所以用for循环嵌套,代码实现如下:
for(int i=1; i<=3; i++){ for(int k=2; k<=i; k++){ System.out.print(" "); } for(int j=1; j<=(3-i)*2+1; j++){ System.out.print("*"); } System.out.println(); }

划重点:j<=(3-i)2+1
打印三角形、菱形、空心菱形
文章图片

五、菱形 打印三角形、菱形、空心菱形
文章图片

图五
菱形可由图三和图四拼接组成,所以打印出图五就是将图三和图四的实现代码结合在一起,修改一个数据即可,具体实现代码如下:
for(int i=1; i<=3; i++){ for(int k=1; k<3-i+1; k++){ System.out.print(" "); } for(int j=1; j<=2*i-1; j++){ System.out.print("*"); } System.out.println(); } for(int i=1; i<=2; i++){ for(int k=1; k<=i; k++){ System.out.print(" "); } for(int j=1; j<=(2-i)*2+1; j++){ System.out.print("*"); } System.out.println(); }

六、空心菱形 打印三角形、菱形、空心菱形
文章图片

空心菱形是在实心菱形的基础上修改而成的,从图形上看,空心菱形每一行的第一列和最后一列是*,其他的都是空格,所以在实心菱形代码的打印*的for循环中,添加一个if判断, 实现代码如下:
for(int i=1; i<=3; i++){ for(int k=1; k<3-i+1; k++){ System.out.print(" "); } for(int j=1; j<=2*i-1; j++){ if(j==1 || j==2*i-1){ //仅在开头和末尾打印* System.out.print("*"); }else{ System.out.print(" "); }} System.out.println(); } for(int i=1; i<=2; i++){ for(int k=1; k<=i; k++){ System.out.print(" "); } for(int j=1; j<=(2-i)*2+1; j++){ if(j==1 || j==(2-i)*2+1){ System.out.print("*"); }else{ System.out.print(" "); } } System.out.println(); }

    推荐阅读