黑马程序员技术交流社区

标题: 打印星号的题目 [打印本页]

作者: 郁闷    时间: 2012-12-14 19:17
标题: 打印星号的题目
本帖最后由 郁闷 于 2012-12-15 01:09 编辑

   *****
     ***
      *
     ***
  ******
这种星号怎么打印 写了好久都写不出来:麻烦各位大大帮忙解决下
作者: 邵新瑜    时间: 2012-12-14 20:06
class  PrintStar
{
        public static void main(String[] args)
        {
                for(int i=0;i<=8;i+=2)
                {
                        if(i<=4)
                        {
                        int k=i;
                        while(k/2!=0)
                        {
                        System.out.print(" ");
                                k=k/2;
                        }
                        for(int j=5-i;j>=1;j--)
                        {
                        System.out.print("*");
                        }
                        System.out.println("");
                        }
                        else
                        {
                        int k=8-i;
                        while(k/2!=0)
                        {
                        System.out.print(" ");
                                k=k/2;
                        }
                        for(int j=8-i;j<=4;j++)
                        {
                        System.out.print("*");
                        }
                        System.out.println("");
                        }
                }
        }
}

作者: 乔叶旭    时间: 2012-12-14 20:06
我写的比较简单,主要是思想,你可以考虑相互之间的关系。
package it.cast_1;

public class Thread_1
{
        public static void main(String[]args)
        {
                for(int i = 3;i>=1;i--)
                {
                                for(int k =0;k<=3-i;k++)
                                {
                                        System.out.print(" ");
                                }
                               
                                for(int j = 1;j<=2*i-1;j++)
                                {
                                        System.out.print("*");
                                }
                               
                                System.out.println("");
                }
                for(int i = 2;i<=3;i++)
                {
                                for(int k =0;k<=3-i;k++)
                                {
                                        System.out.print(" ");
                                }
                                for(int j = 1;j<=2*i-1;j++)
                                {
                                        System.out.print("*");
                                }
                                System.out.println("");
                }
       
        }
}
作者: 乔叶旭    时间: 2012-12-14 20:07
乔叶旭 发表于 2012-12-14 20:06
我写的比较简单,主要是思想,你可以考虑相互之间的关系。
package it.cast_1;

我的思想也忒简单,先上后下,随便看看吧。
作者: 孙辉辉    时间: 2012-12-14 22:44
public class PrintStar {
public static void main(String[] args)
{
         int i,j=0; //初始化
         int a[]={0,1,2,1,0};//设置一个初始数组
         for(i=0;i<5;i++)    //控制行数
         {
                for(int k = 0;k<5;k++) //控制每行的打印
                {
                        if(k<a[j]||k>(4-a[j]))//控制前后空格
                                System.out.print(" ");
                        else
                                System.out.print("*");
                }
                j++;                     
                System.out .println();
         }
}
}
作者: 王中利    时间: 2012-12-14 23:13
像这种打印平面图形的题,全部都是用两个for循环嵌套来实现的,你可以在表格中先画出来,然后再找出规律,然后编程就很随意了,这是一个规律,能解决很多平面打印图形的问题!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2