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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 戴进飘 中级黑马   /  2012-4-26 20:17  /  2002 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 daizhenpiao 于 2012-4-26 20:36 编辑

/*
有一个小问题:
System.out.println(n.getZong());//打印为512
System.out.println(zong);//打印为262144

int zong = n.getZong();
这句语句做了什么?为什么打印的数值不同的。
*/

class Non
{
        private int zong = 1;
        int getZong()
        {
                for (int tian=1; tian<=10; tian  )
                {
                        if (tian == 1)
                        {
                                zong = zong;
                        }
                        else
zong = zong;                        }                        else                                zong = zong * 2;                }                return zong;        }}class Noname2{        public static void main(String[] args)         {                Non n = new Non();                System.out.println(n.getZong());//输出为512                int zong = n.getZong();                System.out.println(zong);//输出为262144        }}

4 个回复

倒序浏览
把完整的代码拿出来看看
回复 使用道具 举报
兄弟,你等于调用了两次n.getZong()方法,知道吗?第一次,int zong=n.getZong(),这个时候,对象n的zong变量值就已经是512了,然后你System.out.println(n.getZong())的时候是等于zong变量的值从512开始的,而不是从1开始的,那不就变成了262144了
回复 使用道具 举报
蒋亮 发表于 2012-4-26 20:37
兄弟,你等于调用了两次n.getZong()方法,知道吗?第一次,int zong=n.getZong(),这个时候,对象n的zong变 ...

代码有几个地方错误的,你都看懂了,还不错哦。看了你的回答,我明白了。谢谢,大哥。
回复 使用道具 举报
daizhenpiao 发表于 2012-4-26 20:49
代码有几个地方错误的,你都看懂了,还不错哦。看了你的回答,我明白了。谢谢,大哥。 ...

我去,哥们,别客气啊,别大哥啊,兄弟才22呢,大家相互学习嘛!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马