版权声明:以下代码均由小任一人码成,转载请注明出处。
源码
public class lx {
/**
* 图框菱形
* @param args
*/
public static void main(String[] args)
{
//打印头部的一行*号
System.out.println("***********************");
//菱形上半部分
for(int i=1;i<=10;i++)
{
//打印上半部分左边的一列*号
System.out.print("*");
//上半部分左边空格循环
for(int j=10;j>=i;j--)
{
System.out.print(" ");
}
//上半部分菱形循环
for(int k=1;k<i*2;k++)
{
System.out.print("*");
}
//上半部分右边空格循环
for(int j=10;j>=i;j--)
{
System.out.print(" ");
}
//打印上半部分右边的一列*号
System.out.println("*");
}
//菱形下半部分
for(int l=1;l<10;l++)
{
//打印下半部分左边的一列*号
System.out.print("*");
//下半部分左边空格循环
for(int m=0;m<=l;m++)
{
System.out.print(" ");
}
//下半部分菱形循环
for(int n=19;n>l*2;n--)
{
System.out.print("*");
}
//下半部分右边空格循环
for(int m=0;m<=l;m++)
{
System.out.print(" ");
}
//打印下半部分右边的一列*号
System.out.println("*");
}
//打印尾部的一行*号
System.out.println("***********************");
}
}
代码运行图
源码解析
首先用这行代码打印图框上面的×号System.out.println("***********************");,之后是正常的菱形上半部分,控制行数的循环for(int i=1;i<=10;i++),因为图框左边竖着的×号刚好是每行一个,所以直接放到控制行数的for循环最上面System.out.print("*");,然后正常的打印空格和菱形,注意打印完之后右边因为还必须有竖着的×号,所以右边也得打印空格,最后打印×号。上半部分的运行图如下
下半部分跟上半部分顺序是倒过来的,首先打印打印下半部分左边的一列×号,然后左边空格,下半部分的菱形,右边空格,右边竖着的×号,最后打印下边的一行×号,注意,不论是上半部分的一行×号还是下半部分结尾的一行×号都是写在for循环外面的。
原文链接:https://www.xiaorenjc.net/Java/javalingxing.html