【Java例题】3.2字符图形

本文详细解析了一个使用Java实现的图形输出算法,该算法能够根据输入的整数n,输出特定的数字图形。通过两层循环结构,算法巧妙地处理了不同情况下的图形输出,包括奇数和偶数情况的区别。代码中运用了Scanner类读取用户输入,并通过多个嵌套循环实现了图形的打印。对于初学者而言,这是一个很好的学习示例,展示了如何在Java中控制字符串的输出格式。

2.输出以下字符图形。 比如,当n=6时,结果如下:

       1

    2 2 2

 3 3 3 3 3

4 4 4 4 4 4

   5 5 5 5

      6 6

再比如,当n=7时,结果如下:

         1

      2 2 2

   3 3 3 3 3

4 4 4 4 4 4 4

  5 5 5 5 5 5

     6 6 6 6

        7 7

package chapter3;

import java.util.Scanner;

public class demo2 {
    public static void main(String[] args) {        
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        if(n%2==1) {
            for(int i=1;i<=n/2+1;i++) {
                for(int j=0;j<(n/2+1-i)*2;j++) {
                    System.out.print("  ");
                }
                for(int k=1;k<=2*i-1;k++) {
                    System.out.printf("%-2d  ",i);
                }
                System.out.println();
            }
            for(int i=n/2+2;i<=n;i++) {
                for(int j=0;j<2*i-n-2;j++) {
                    System.out.print("  ");
                }
                for(int k=1;k<=2*n-2*i+2;k++) {
                    System.out.printf("%-2d  ",i);
                }
                System.out.println();
            }    
        }else {
            for(int i=1;i<=n/2;i++) {
                for(int j=0;j<n+1-2*i;j++) {
                    System.out.print("  ");
                }
                for(int k=1;k<=2*i-1;k++) {
                    System.out.printf("%-2d  ",i);
                }
                System.out.println();
            }
            for(int i=n/2+1;i<=n;i++) {
                for(int j=0;j<2*i-n-2;j++) {
                    System.out.print("  ");
                }
                for(int k=1;k<=2*n-2*i+2;k++) {
                    System.out.printf("%-2d  ",i);
                }
                System.out.println();
            }
        }
    }    
}

 

转载于:https://www.cnblogs.com/LPworld/p/10723896.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值