java打印出一个菱形

  • Post author:
  • Post category:java




题目

用键盘读入一个字符,然后在屏幕上显示一个用这个字符填充的对角线长5个字符,倾斜放置的菱形。



输入描述:

输入一个char类型字符



输出描述:

输出一个用这个字符填充的对角线长5个字符,倾斜放置的菱形



示例1

输入:

/ #

输出:

在这里插入图片描述



思路

将菱形分为上下两个部分,控制行,然后分别打印空格和符号。



代码
import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        char in = sc.next().charAt(0);
        //上部分的行数,包括对角线
        int n = 3;
        //循环输出前半部分
        for(int i = 1 ; i <= n; i++){
            //输出每行前面的空格,并逐级减少,第一行两个,第二行一个,第三行0个
            for(int j = 1; j <= n - i; j++){
                System.out.print(" ");
            }
            //每行输出的字符个数是改行的2倍健1,2*i-1
            for(int j = 1; j <= 2 * i - 1;j++){
                System.out.print(in);
            }
            //每行的结尾要换行
            System.out.println();
        }
        
        //循环输出后半部分
        int m = n - 1;//后半部分的行数是前半部分行数减1,m=2
        for(int i = 1; i <= m; i++){
            //i=1时,是第四行,打印1个空格,3个字符
            //i=2时,是第五行,打印0个空格,1字符个
            //输出空格
            for(int j = 1; j <= i; j++){
                System.out.print(" ");
            }
            for(int j = 1; j <= 2*(m-i)+1 ; j++){
                System.out.print(in);
            }
            System.out.println();
        }
    }
}

运行时间:34ms

占用内存:10884KB



版权声明:本文为qq_44125965原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。