黑马程序员技术交流社区

标题: 有2个问题没怎么明白 求大神给我讲一下 [打印本页]

作者: 放手一搏    时间: 2016-4-30 17:24
标题: 有2个问题没怎么明白 求大神给我讲一下
1._Java语言基础(思考题Java中的参数传递问题及图解)
2.class Lx1 {        public static void main(String[] args) {
                int count=0;
                for (int i=9999;i>1000 ;i-- ) {
                        int ge=i%10;
                        int shi=i/10%10;
                        int bai=i/100%10;
                        int qian=i/1000%10;
                        if (ge==qian&&bai==shi) {
                                System.out.print(i+" ");
                                count++;
                                if (count%5==0) {
                                        System.out.println();
                                }
                        }
                }
                System.out.println();
                System.out.println(count);
        }
}  关于第二题 我的疑惑是 for循环结束后不是变量都释放了吗  也就是说count没了   那为啥最下面的输出 count不是=0,   求帮助

作者: 九天玄妖    时间: 2016-4-30 18:14
第二题  count 是方法中的局部变量,方法弹栈才会消失,不是for循环结束,在for中定义的变量是for循环结束就消失了
作者: 放手一搏    时间: 2016-4-30 18:31
九天玄妖 发表于 2016-4-30 18:14
第二题  count 是方法中的局部变量,方法弹栈才会消失,不是for循环结束,在for中定义的变量是for循环结束 ...

谢谢  我还有道题  能帮我看下吗
2)打印等边三角形
                    *
                   * *
                  * * *
                 * * * *
答案是这个 我没看明白
public static void main(String[] args) {
                                        /*
                                             *
                                            * *
                                           * * *
                                          * * * *
                                         * * * * *
                                        */
                                        for(int i=1;i<=5;i++) {
                                                for(int j= 5;j>=i;j--) {
                                                        System.out.print(" ");
                                                }
                                                for(int z=i;z>=1;z--) {
                                                        System.out.print("* ");
                                                }
                                                System.out.println();
                                        }
作者: 九天玄妖    时间: 2016-4-30 18:41
放手一搏 发表于 2016-4-30 18:31
谢谢  我还有道题  能帮我看下吗
2)打印等边三角形
                    *

说下我的理解
你倒着看这个正三角形,就是第一行打印一个空格,然后是第几行就打印几个“*空格”就理解了,这种题主要是找规律
作者: jiang0409    时间: 2016-4-30 19:12
我们是不是能把这个等边三角形看作是这么来的
-----*           
----**
---***   
--****
-*****

—>把“-”变成空格,把每个*后面加个空格,变成"* ",然后这个图就变成了
    *
   * *
  * * *
 * * * *
* * * * *
所以我们只需要打印两个三角形,一个是变成空格的"-"部分,一个是"* "部分,一个三角形可以用个双for循环解决,打印两个三角形,不就是两个双for循环就能解决的么。




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