菱形的打印方式,通过确定中间行,确定奇数然后做的处理,
思路:上面部分通过确定打印数量为奇数,然后采用公式计算出奇数来,下面因为空格数量就是总行数减中间行数-1计算的,
这样就可以计算出要打印的* 的数量
public class TestFile {
public static void main(String[] args) {
// TODO Auto-generated method stub
int line=9;//7行菱形,中间行为7个*,上下都是3行,一共7行,必须是奇数
for(int i=0;i<line;i++){ //控制显示行
//确定中间行;
int midline=(line-1)/2;
if(i==midline)
{
for(int j=0;j<line;j++){ //打印中间行
System.out.print("*");
}
System.out.println();
}
else
{
if(i<midline){ //打印上面的
printTopInfo((i+1),line);
}
else if(i>midline){ //打印下面的
printButtomInfo((i-midline),line);
}
}
}
}
//打印上面的
static void printTopInfo(int i,int count){
//奇数
int empnum=2*(i-1)+1;
for(int j=0;j<(count-empnum)/2;j++){ //打印前面
System.out.print(" ");
}
for(int j=0;j<empnum;j++){ //打印中间
System.out.print("*");
}
for(int j=0;j<(count-empnum)/2;j++){ //打印前面
System.out.print(" ");
}
System.out.println("");
}
//打印下面的
static void printButtomInfo(int i,int count){
for(int j=0;j<i;j++){ //打印前面
System.out.print(" ");
}
for(int j=0;j<(count-i*2);j++){ //打印中间
System.out.print("*");
}
for(int j=0;j<i;j++){ //打印前面
System.out.print(" ");
}
System.out.println("");
}
}
显示效果
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。