使用for循环打印矩形和三角形、菱形、空心菱形

打印矩形

**********
**********
**********
**********
**********
**********
**********
**********
**********
**********

1
2
3
4
5
6
7
8
9
10
11
public class Demo3_712
{
    public static void main(String args[]){
        for(int i=1;i<=10;i++){     //控制行
            for(int j=1;j<=10;j++){  //控制列
                System.out.print("*");
            }
            System.out.println();
        }      
    }
}

  

打印竖直角三角形
*
**
***
****
*****
******
*******
********
*********
**********

1
2
3
4
5
6
7
8
9
10
11
public class Demo3_712
{
    public static void main(String args[]){
        for(int i=1;i<=10;i++){     //控制行
            for(int j=1;j<=i;j++){   //控制列
                System.out.print("*");
            }
            System.out.println();
        }      
    }
}

  

打印竖直角三角形

**********
*********
********
*******
******
*****
****
***
**
*

1
2
3
4
5
6
7
8
9
10
11
public class Demo3_712
{
    public static void main(String args[]){
        for(int i=10;i>=0;i--){     //控制行
            for(int j=1;j<=i;j++){   //控制列
                System.out.print("*");
            }
            System.out.println();
        }      
    }
}

 

打印等腰三角形   

        *
      ***
    *****
  *******
*********
  *******
    *****
      ***
        *


行数 *的个数 打印空格的个数
1 1
2 3
3 5
4 7
n (2*行数)-1 row-j

有错误:无限死循环

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import java.util.Scanner;
 
public class Demo3_712 {
 
    public static void main(String[] args) {
         
        System.out.println("请输入行数:");
         
        int row = new Scanner(System.in).nextInt();
         
        //循环行数
        for(int i = 1;i <= row ;i++ )
        {
            for(int a=1;a<=row-i;a++)
            {
                System.out.print(" ");
            }
            //循环列数
            for(int j = 1;j<=2*i-1;j++)
            {
                 
                System.out.print("*");
            }
            //换行
            System.out.println();
        }
         
         
        for(int i = 1;i <= row ;i-- )
        {
            for(int a=1;a<=row-i;a--)
            {
                System.out.print(" ");
            }
            //循环列数
            for(int j = 1;j<=2*i-1;j--)
            {
                 
                System.out.print("*");
            }
            //换行
            System.out.println();
        }
         
    }
}

  

使用for循环打印空心菱形和实心菱形

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import java.util.Scanner;
 
public class Demo3_712 {
    public static void main(String args[]) {
//      int hangshu = 11;
//      int yiban = hangshu / 2 + 1;
//      int yibanduo = hangshu / 2;
         
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入行数:");
        int hangshu = sc.nextInt();
        int yiban = hangshu / 2 + 1;
        int yibanduo = hangshu / 2;
         
        System.out.println("空心菱形:");
        for (int k = 1; k <= yiban; k++) {
            for (int i = 1; i <= (yiban - k); i++) {
                System.out.print(" ");
            }
            System.out.print("*");
            for (int i = 1; i <= ((k - 2) * 2 + 1); i++) {
                System.out.print(" ");
            }
            if (k != 1) {
                System.out.print("*");
            }
            System.out.println();
        }
        for (int k = yibanduo; k >= 1; k--) {
            for (int i = 1; i <= (yiban - k); i++) {
                System.out.print(" ");
            }
            System.out.print("*");
            for (int i = 1; i <= ((k - 2) * 2 + 1); i++) {
                System.out.print(" ");
            }
            if (k != 1) {
                System.out.print("*");
            }
            System.out.println();
        }
 
        System.out.println("实心菱形:");
        for (int i = 1; i <= hangshu; i++) {
            if (i <= hangshu / 2 + 1) {
                for (int k = 1; k <= hangshu / 2 + 1 - i; k++) {
                    System.out.print(" ");
                }
                for (int k = 1; k <= i; k++) {
                    System.out.print("* ");
                }
                System.out.println();
            } else {
                for (int k = 1; k <= (i - (hangshu / 2 + 1)); k++) {
                    System.out.print(" ");
                }
                for (int k = 1; k <= (2 * (hangshu / 2 + 1) - i); k++) {
                    System.out.print("* ");
                }
                System.out.println();
            }
        }
    }
}

  

posted @   秋色记忆888  阅读(10232)  评论(0编辑  收藏  举报
编辑推荐:
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
阅读排行:
· 本地部署 DeepSeek:小白也能轻松搞定!
· 如何给本地部署的DeepSeek投喂数据,让他更懂你
· 从 Windows Forms 到微服务的经验教训
· 李飞飞的50美金比肩DeepSeek把CEO忽悠瘸了,倒霉的却是程序员
· 超详细,DeepSeek 接入PyCharm实现AI编程!(支持本地部署DeepSeek及官方Dee
点击右上角即可分享
微信分享提示