Java 循环嵌套问题一:打印菱形

  • Post author:
  • Post category:java


用Java编写一个如下的菱形:

本质问题就是循环嵌套,外层决定有多少行,内层决定每行有多少*,而且内层需要分成上下两个大部分,上下每个部分要分成四个部分:前面空白,前面*,后面*,后面空白四个部分

代码如下

public class lingxing 
{
	public static void main(String[] args)//本质是循环嵌套,将一个菱形分成多个部分
	{
		for(int i=1;i<=9;i++) //先写菱形的上半部分,外层决定有多少行
		{
			for(int j=1;j<=9-i;j++) //内层决定行里有多少个*,这里是前面的空白部分的循环
			{
				System.out.print(" ");

			}

			for(int j=1;j<=i;j++) //这里是菱形的前半部分的循环
			{
				System.out.print("*");

			}
			for(int j=1;j<=i-1;j++) //这里是菱形后半部分的循环
			{
				System.out.print("*");

			}
			for(int j=1;j<=8-i;j++) //这里是后半部分的空白
			{
				System.out.print("");

			}
			System.out.println();
		}
		for(int i=1;i<=8;i++) //下半部分
		{
			for(int j=1;j<=i;j++) //这里是前面的空白部分的循环
			{
				System.out.print(" ");
			}
			for(int j=1;j<=9-i;j++) //这里是菱形的前半部分的循环
			{
				System.out.print("*");
			}
			for(int j=1;j<=8-i;j++) //这里是菱形后半部分的循环
			{
				System.out.print("*");
			}
			for(int j=1;j<=i-1;j++) //这里是后半部分的空白
			{
				System.out.print(" ");
			}
			System.out.println();
		}
	}

}

结果就如题目那样



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