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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© heimaheima123 中级黑马   /  2014-12-14 10:54  /  1274 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

编程序稍微有点思路,或者有思路,就是编不对,该肿么办?
就比如/*
               
               
                *
           ***
          *****
         *******
          *****
           ***
            *
        思路:分成上下两部分,前4后3
        根据正三角形  外循环控制行1-4 用i表示
        内循环控制列   空格  1-----3,2-----2,3------1,4-----0   j=4-i
                                         *号   1------1,2-----3,3------5,4-----7   k=2*(i-1)+1
    根据倒三角形  外循环控制行5-7                          
        内循环控制列   空格  1-----1,2-----2,3------3,     j=1+i
                                         *号   1------5,2-----3,3------1,     k=7-2*i

                */

class Lixing
{
        public static void main(String[] args)
        {
                //上半部分
                for (int i=1;i<=4 ;i++ )
                {
                        for ( int j=1;j<=4-i ;j++ )
                        {
                                System.out.print("  ");
                        }
                        for (int k=1;k<=2*(i-1)+1; k++)
                        {
                                System.out.print("*");
                        }
                  System.out.println();
                }
    //下半部分
      for (int i=1;i<=3 ;i++ )
                {
                        for ( int j=1;j<=1+i ;j++ )
                        {
                                System.out.print("  ");
                        }
                        for (int k=1;k<=7-2*i ; k++)
                        {
                                System.out.print("*");
                        }
                  System.out.println();
                }
   

        }
}


输出结果不对???愁 ,  烦

5 个回复

正序浏览
姿_`态 发表于 2014-12-14 13:44
花圈的地方,一个空格就好, 还有下面是5 不是7
,运行出结果,自己慢慢调试就可以了。
...

知道了,原来是空格的过,不过确实就是7来着,不过,好感谢呀
回复 使用道具 举报
zhaozhao 发表于 2014-12-14 11:29
你要打印的是不是一个菱形?你的思路没有问题,不过一个*和一个空格占用的字节相同,你的程序中每行输出了两 ...

知道了,原来多加了一个空格的过啊,原来如此
回复 使用道具 举报

花圈的地方,一个空格就好, 还有下面是5 不是7
,运行出结果,自己慢慢调试就可以了。
回复 使用道具 举报
你要打印的是不是一个菱形?你的思路没有问题,不过一个*和一个空格占用的字节相同,你的程序中每行输出了两个空格,你可以改为System.out.println(" ");这里输出一个空格!还有下面的循环,第一行只需要打印一个空格,就可以,即: for ( int j=1;j<=i ;j++ ),不用加1。
学语言,要有耐心哟!
回复 使用道具 举报
我也是,看别人写的没问题,自己写就不行,稍微一变就更不会了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马