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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 波-wang 中级黑马   /  2014-4-21 18:32  /  1287 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 波-wang 于 2014-4-21 20:28 编辑

class Dest{
public static void main(String[] args) {
int c=20;
for(int a=c;a>0;a=a/2) {
for(int b=a;b>0;b--) {
if (b%2==0) c++; } }
System.out.println(c); }}


此语句的流程控制顺序是什么养的呢,运行了,结果是38,就是不知道具体是怎么运行的,怎么一步步到达这个结果的呢?

评分

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

查看全部评分

3 个回复

倒序浏览
本帖最后由 满兴旺 于 2014-4-21 19:34 编辑

class Test{
        public static void main(String[] args)
        {
                int c=20;
                for(int a=c;a>0;a=a/2)
                {
                        System.out.println("a="+a+"  ");
                        for(int b=a;b>0;b--)
                        {
                                if(b%2==0)
                                {
                                        System.out.print("b="+b);
                                        c++;
                                }
                        }
                        System.out.println();
                }
                System.out.println(c);
        }
}

输出结果:


有几个b  c就加了几次。c=20+18=38
还有麻烦代码写专业点,我要是不缺技术分我就不答了
回复 使用道具 举报
  1. class Dest
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int c = 20;
  6.                 for (int a = c;a > 0;a = a/2)
  7.                 {
  8.                         for (int b = a;b > 0;b--)
  9.                         {
  10.                                 if (b%2==0)
  11.                                 {
  12.                                         c++;
  13.                                 }
  14.                         }
  15.                 }
  16.                 System.out.println(c);
  17.         }
  18. }
  19. /*
  20.         1.c = 20
  21.         2.将c赋值给a,让a参与循环,只要a>0,则a减半(第一个for循环的功能)
  22.         3.将每一次的a赋值给给b,让b参与循环,只要b>0,则b每循环一次就减1,
  23.           同时,当b是偶数时,让c加1(第二个for循环的功能)
  24.         4.最后输出c的最终取值

  25.         程序运行时是这样的:
  26.         1.        c=20
  27.         2.        a=20        b=20        c=21
  28.         3.        a=20        b=19        c=21
  29.         4.        a=20        b=18        c=22
  30.         5.        a=20        b=17        c=22
  31.         6.        a=20        b=16        c=23
  32.         7.        a=20        b=15        c=23
  33.         8.        a=20        b=14        c=24
  34.         9.        a=20        b=13        c=24
  35.         10.        a=20        b=12        c=25
  36.         11.        a=20        b=11        c=25
  37.         12.        a=20        b=10        c=26
  38.         13.        a=20        b=9                c=26
  39.         14.        a=20        b=8                c=27
  40.         15.        a=20        b=7                c=27
  41.         16.        a=20        b=6                c=28
  42.         17.        a=20        b=5                c=28
  43.         18.        a=20        b=4                c=29
  44.         19.        a=20        b=3                c=29
  45.         20.        a=20        b=2                c=30
  46.         21.        a=20        b=1                c=30
  47.         22.        a=10        b=10        c=31
  48.         23.        a=10        b=9                c=31
  49.         24.        a=10        b=8                c=32
  50.         25.        a=10        b=7                c=32
  51.         26.        a=10        b=6                c=33
  52.         27.        a=10        b=5                c=33
  53.         28. a=10        b=4                c=34
  54.         29.        a=10        b=3                c=34
  55.         30.        a=10        b=2                c=35
  56.         31.        a=10        b=1                c=35
  57.         32.        a=5                b=5                c=35
  58.         33.        a=5                b=4                c=36
  59.         34.        a=5                b=3                c=36
  60.         35.        a=5                b=2                c=37
  61.         36.        a=5                b=1                c=37
  62.         37.        a=2                b=2                c=38
  63.         38.        a=2                b=1                c=38
  64.         39.        a=1                b=1                c=38
  65.         40.        循环结束,输出结果:c=38
  66. */
复制代码
回复 使用道具 举报

很详细,看的明白,谢谢!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马