当先锋百科网

首页 1 2 3 4 5 6 7

版权声明:保留个人权利,可转载,请注明出处(http://blog.csdn.net/wlsgdsb)。  如程序有不当之处,敬请指正。

/* (程序头部注释开始)
版权声明:保留个人权利,可转载,请注明出处(http://blog.csdn.net/wlsgdsb)。  如程序有不当之处,敬请指正。

* 文件名称:  《一些简单的java编程题(13) ————打印菱形》                          
* 作    者:  那就去巴黎       
* 完成日期:  2018 年  02 月   13 日
* 版 本 号:  JDK 9.0.1
    
问题描述:
题目:打印出如下图案(菱形)
   *
  *** 
 ****** 
******** 
 ****** 
  *** 
   * 


题目分析:
先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for循环,第一层控制行,第二层控制列。

* (程序头部的注释结束)
*/
package questions;

public class Q13 
{
	public static void main(String[] args)
	{
		int n=5;
		System.out.println("打印出的菱形如下:");
		printDiamond(n);
	}
	
	private static void printDiamond(int n) //打印菱形方法
	{
		//打印上半部分
		for(int i=0;i<n;i++) 
		{
			for(int j=0;j<2*n;j++) 
			{
				if(j<n-i) 
				{
					System.out.print(" ");
				}
				if(j>=n-i && j<=n+i) 
				{
					System.out.print("*");
				}
			}
			System.out.println();
		}
		
		//打印下半部分
		for(int i=1;i<n;i++) 
		{
			System.out.print(" ");
			for(int j=0;j<2*n-i;j++) 
			{
				if(j<i)
				{
					System.out.print(" ");
				}
				if(j>=i && j<=2*n-i-2) 
				{
					System.out.print("*");
				}
					
			}
			System.out.println();
		}
		
	}

}

程序运行结果如下:



如果想由用户自己控制菱形的大小规模,可以添加一个输入功能,程序如下:

package questions;
import java.util.Scanner; //导入java.util包中的Scanner这个工具类

public class Q13_Test 
{
	public static void main(String[] args)
	{
		System.out.println("请输入n的值:");  //控制菱形的大小规模
		Scanner input= new Scanner(System.in);
		int n= input.nextInt();
		System.out.println("打印出的菱形如下:");
		printDiamond(n);
		input.close(); //关闭配置内存
		
	}
	
	private static void printDiamond(int n) //打印菱形方法
	{
		//打印上半部分
		for(int i=0;i<n;i++) 
		{
			for(int j=0;j<2*n;j++) 
			{
				if(j<n-i) 
				{
					System.out.print(" ");
				}
				if(j>=n-i && j<=n+i) 
				{
					System.out.print("*");
				}
			}
			System.out.println();
		}
		
		//打印下半部分
		for(int i=1;i<n;i++) 
		{
			System.out.print(" ");
			for(int j=0;j<2*n-i;j++) 
			{
				if(j<i)
				{
					System.out.print(" ");
				}
				if(j>=i && j<=2*n-i-2) 
				{
					System.out.print("*");
				}
					
			}
			System.out.println();
		}
		
	}

}


程序运行结果如下: