java50题----19打印菱形

本文介绍了一个使用Java编写的程序,该程序能够打印出指定大小的菱形图案。通过递增和递减星号(*)的数量并调整空格,程序能够在控制台上绘制出一个对称的菱形。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*
打印以下的菱形:
   *
  ***
 *****
*******
 *****
  ***
   *
   
    	
*/



class Demo
{
	private Demo(){}

	private static Demo instance = new Demo();

	

	public static Demo getInstance()
	{
		return instance;

	}



	public void print(int n)
	{
		if(n%2 == 0)
			return;

		int mid = (n+1)/2;
		for(int i = 1; i <= n; i++)
		{
			if(i < mid)
			{
				for(int j = 1 ; j <= n; j++)
				{
					if(j>=mid-(i-1) && j<=mid+i-1)
						System.out.print("*");
					else
						System.out.print(" ");
				}

				System.out.println("");
			}
			else
			{
				for(int j = 1 ; j <= n; j++)
				{

					if(j>=mid-(n-i) && j<=mid+n-i)
						System.out.print("*");
					else
						System.out.print(" ");
				}

				System.out.println("");
			}

		}

	}


}

class MainClass 
{
	public static void main(String[] args) throws Exception
	{
		Demo d = Demo.getInstance();
		
		d.print(9);


	}
}


/*




*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值