版权声明:保留个人权利,可转载,请注明出处(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();
}
}
}
程序运行结果如下: