A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郁闷 中级黑马   /  2012-12-14 19:17  /  1325 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 郁闷 于 2012-12-15 01:09 编辑

   *****
     ***
      *
     ***
  ******
这种星号怎么打印 写了好久都写不出来:麻烦各位大大帮忙解决下

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

5 个回复

倒序浏览
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("");
                        }
                }
        }
}

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1 赞一个!

查看全部评分

回复 使用道具 举报
我写的比较简单,主要是思想,你可以考虑相互之间的关系。
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("");
                }
       
        }
}

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
乔叶旭 发表于 2012-12-14 20:06
我写的比较简单,主要是思想,你可以考虑相互之间的关系。
package it.cast_1;

我的思想也忒简单,先上后下,随便看看吧。
回复 使用道具 举报
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();
         }
}
}
回复 使用道具 举报
像这种打印平面图形的题,全部都是用两个for循环嵌套来实现的,你可以在表格中先画出来,然后再找出规律,然后编程就很随意了,这是一个规律,能解决很多平面打印图形的问题!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马