[java]練習:列印對稱菱形

臧初之發表於2020-11-07

列印如下圖形:
在這裡插入圖片描述
加入輔助符號“-”:
在這裡插入圖片描述
把圖形上下部分分開,先列印上半部分:
設行數為i,則上半部分為第0行到第4行
設“-"為k,設“* ”(*+空格)為j,則上半部分可表示為:
k=4-ij=i+1
上圖結論為:
k=4-i
j=i+1
上半部分列印:

class TestPrint 
{
	public static void main(String[] args) 
	{
		
		for(int i=0;i<=4;i++){
			//先列印“-”
			for (int k=1;k<=4-i;k++)
			{
			System.out.print("-");
			}
			//再列印“*”
			for(int j=1;j<=i+1;j++)
			{
				System.out.print("* ");//列印“*”+空格
			}
		System.out.println(" ");//每列印完一行後,換行

		}


	}
}

執行程式如圖:
在這裡插入圖片描述
圖形下半部分:
設行數為i,則下半部分為第0行到第3行
設“-"為k,設“* ”(*+空格)為j,則下半部分可表示為:
在這裡插入圖片描述
上圖結論為:
k=i+1
j=4-i

class TestPrint 
{
	public static void main(String[] args) 
	{
		
	/*	for(int i=0;i<=4;i++){
			//先列印“-”
			for (int k=1;k<=4-i;k++)
			{
			System.out.print("-");
			}
			//再列印“*”
			for(int j=1;j<=i+1;j++)
			{
				System.out.print("* ");//列印“*”+空格
			}
		System.out.println(" ");//每列印完一行後,換行

		}
		*/
	for(int i=0;i<=3;i++){
		//先列印“-”
			for (int k=1;k<=i+1;k++)
			{
			System.out.print("-");
			}
			//再列印“*”
			for(int j=1;j<=4-i;j++)
			{
				System.out.print("* ");//列印“*”+空格
			}
		System.out.println(" ");//每列印完一行後,換行

		}
	}
}

執行結果圖:
在這裡插入圖片描述

java原始碼如下:

class TestPrint 
{
	public static void main(String[] args) 
	{
		
	for(int i=0;i<=4;i++){
			//先列印“-”
			for (int k=1;k<=4-i;k++)
			{
			System.out.print(" ");
			}
			//再列印“*”
			for(int j=1;j<=i+1;j++)
			{
				System.out.print("* ");//列印“*”+空格
			}
		System.out.println(" ");//每列印完一行後,換行

		}
		
	for(int i=0;i<=3;i++){
		//先列印“-”
			for (int k=1;k<=i+1;k++)
			{
			System.out.print(" ");
			}
			//再列印“*”
			for(int j=1;j<=4-i;j++)
			{
				System.out.print("* ");//列印“*”+空格
			}
		System.out.println(" ");//每列印完一行後,換行

		}
	}
}

執行結果如圖:
在這裡插入圖片描述

相關文章