标签:
!输出一个空心三角形
(1)空格的输出按-1递减,字符的输出按等差数列,公差为2
(2)判断第一行和最后一行照常输出
(3)中间行仅输出两个字符
public class kongjin {
public static void main(String []args)
{
int lay;
lay = 4;
for(int i = 1; i <= lay; i++)//控制打印的行数
{
for(int a=0; a < lay-i; a ++ )
{
System.out.print(" ");//打印空格
}
for(int b = 1; b <= i*2-1; b ++)
{
if(i == 1||i == lay)//判断是否是第一或最后一行
{
System.out.print("*");
}
else
{
if(b == 1||b == i*2-1)//判断是否是本行第一个或最后一个字符
{
System.out.print("*");
}
else
{
System.out.print(" ");
}
}
}
System.out.println();//输出回车
}
}
}
输出为
!!输出一个菱形
(1)将菱形分为两部分
(2)输出第一部分,原理与三角形输出相似
(3)倒序输出第二部分,参见代码
public class ling {
public static void main (String[]args)
{
int lay;
lay = 7;//菱形的总长度
for(int m = 1; m <=(lay+1)/2; m++)//正序输出上半部分
{
for(int b = 1; b <=(lay+1)/2-m ; b++)//输出空格
{
System.out.print(" ");
}
for(int c = 1; c <= m*2-1; c++)
{
System.out.print("*");
}
System.out.println();//换行
}
for(int d =(lay+1)/2-1;d >= 1; d --)//倒序输出下半部分
{
for(int b = 1; b <= (lay+1)/2-d; b++)//输出空格
{
System.out.print(" ");
}
for(int c = (lay+1)/2-d; c <=(lay+1)/2-2+d; c ++)//(lay+1)/2-1即为下半个三角形
{
System.out.print("*");
}
System.out.println();
}
}
}
输出为
标签:
原文地址:http://www.cnblogs.com/Harley/p/5960960.html