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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© strongmanzxh 中级黑马   /  2016-4-14 21:34  /  606 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Text3_For {
        public static void main(String[] args) {
                //统计所有水仙花数的个数
                int count =0;
                for (int i = 100;i <= 999 ;i++ ) {
                        int ge = i % 10;
                        int shi = i / 10 % 10;
                        int bai = i / 10 / 10 % 10;
                        if (ge * ge * ge + shi * shi * shi + bai * bai * bai == i) {
                                System.out.println(i);
                                count=count++;                                //满足条件就自增,计数器思想
                        }
                }
                System.out.println("count = " + count);
        }
}
上面count 自增,可以将其自增值再赋于count吗?编译的时候没出错,但运行的结果count居然是0,这个有所能帮忙解答下,谢谢!!

12 个回复

倒序浏览
把count = count++改为count++就行了
回复 使用道具 举报
  if (ge * ge * ge + shi * shi * shi + bai * bai * bai == i)????????????????????????????????????你没觉得这里有问题吗?
回复 使用道具 举报
顶一个,不错,一起加油
回复 使用道具 举报


你程序有两个问题:
          1).   int不要在循环里面定义
          2).   count++ 就已经等价于 count = count + 1 了,      而你的count = count++  这个值是一直会是 0 的 , 这里是比较特殊的地方
               
回复 使用道具 举报
心悟 发表于 2016-4-14 23:35
你程序有两个问题:
          1).   int不要在循环里面定义
          2).   count++ 就已经等价于 coun ...

谢谢你的解答,关于int 是否在循环里面,应该都可以,老师给我们演示的基本上都在循环体中直接定义;即然count++ = count + 1; 那count = count++ 按道理的话应该会报错的呀!
还有一个问题想请教你一下:
老师视频上讲,for 语句结束后定义的变量会被释放,按道理后面打印的count 数应该也会被释放掉呀?为什么结果却不是呢,有点不明白!!
回复 使用道具 举报
豆豆斌 发表于 2016-4-14 22:39
把count = count++改为count++就行了

谢谢,知道了
回复 使用道具 举报
大山的伤 发表于 2016-4-14 23:03
if (ge * ge * ge + shi * shi * shi + bai * bai * bai == i)????????????????????????????????????你没 ...

没有问题呀
回复 使用道具 举报
huhemingtiancai 发表于 2016-4-14 23:04
顶一个,不错,一起加油

共勉 一起加油啦
回复 使用道具 举报
strongmanzxh 发表于 2016-4-15 10:23
谢谢你的解答,关于int 是否在循环里面,应该都可以,老师给我们演示的基本上都在循环体中直接定义;即然 ...

关于count = count++

http://itlab.idcquan.com/Java/base/21363.html 你可以网上搜下i = i++的说法

所以还是建议, i++这种自增尽量单独使用

for循环只有在循环体里面定义的,( 包括 for括号里面的)

循环结束才会被释放, 你count的是在循环外面的
回复 使用道具 举报
心悟 发表于 2016-4-15 22:55
关于count = count++

http://itlab.idcquan.com/Java/base/21363.html 你可以网上搜下i = i++的说法

哦 明白了 谢谢!!
回复 使用道具 举报
看不懂,好厉害
回复 使用道具 举报
看看楼上的那个代码就知道了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马