循环语句练习题2(打印三角形和菱形)

问题一:用for循环打印三角形

则编写Java代码如下:

1     for (int m=1;m<=10;m++)
2         {
3             for (int n=1;n<=m;n++)
4             {
5                 System.out.print("* ");
6             }
7             System.out.println();
8         }
9         

则运行结果为:

若想打印倒三角,则编写Java代码如下:

1 for (int m=1;m<=9;m++)
2         {            
3             for (int n=9;n>=m;n--)
4             {
5                 System.out.print("* ");
6             }
7             System.out.println();
8         }

则运行结果为:

问题二:用for循环打印三角形

方法一:编写Java代码如下:

 1                  //上半部分
 2                 for (int m = 1; m <= 10; m++)
 3                 {
 4                     //输出空格
 5                     for (int n = 9; n >= m ;n--)
 6                     {
 7                         System.out.print(" ");
 8                     }
 9                     //输出* 左上
10                     for (int n = 1; n <= m; n++)
11                     {
12                         System.out.print("*");
13                     }    
14                     
15                     //右上
16                     for (int n = 1; n < m; n++)
17                     {
18                         System.out.print("*");
19                     }
20 
21                     System.out.println();
22                 }
23                 
24                 //下半部分
25                 for (int m = 1; m <= 9; m++)
26                 {
27                     //输出空格
28                     for (int n = 1; n <= m ;n++)
29                     {
30                         System.out.print(" ");
31                     }
32                     //输出* 左下
33                     for (int n = 9; n >= m; n--)
34                     {
35                         System.out.print("*");
36                     }    
37                     
38                     //右下
39                     for (int n = 9; n > m; n--)
40                     {
41                         System.out.print("*");
42                     }
43 
44                     System.out.println();
45                 }    

则运行结果为:

还有另一种取巧的方法:

方法二:在Java中编写代码如下:

     for(int m=1;m<=10;m++)
        {
            for(int n=9;n>=m;n--)
            {
                System.out.print(" ");
            }
            for(int n=1;n<=m;n++)
            {
                System.out.print("* ");  //注意此处是“* ”,而不是“*”
            }
            System.out.println();
        }
        for (int m=1;m<=9;m++)
        {
            for(int n=1;n<=m;n++)
            {
                System.out.print(" ");
            }
            for(int n=9;n>=m;n--)
            {
                System.out.print("* ");  //注意此处是“* ”,而不是“*”
            }
            System.out.println();
        }

能得到同样的结果:,但“*”数量肯定与第一种方法不相同,只是形状都是菱形

原文地址:https://www.cnblogs.com/hanazawalove/p/5219992.html