java吧 关注:1,249,400贴子:12,733,370
  • 7回复贴,共1

今天碰到一个有趣的问题,神都没有解决,自觉为神的请进

只看楼主收藏回复

java代码中:
在a方法中调用b方法,用以改变a方法中变量的值。以下是伪码
a(){
boolean flag = true;
b(flag);
System.out.println(flag);
}
void b(boolean flag){
flag = false;
}
两个方法可以在同一个类中,flag类型可以为字符串等,结果输出flag值为true,将flag设为类里的私有变量结果不变,b方法的返回值只能为空,请教应该怎样改变flag的值?


IP属地:广东1楼2013-04-13 23:16回复
    静态欢迎你。。同时操控零界资源、、


    IP属地:四川2楼2013-04-13 23:38
    回复


      3楼2013-04-13 23:39
      回复
        ,我不是神,,,


        IP属地:浙江5楼2013-04-14 01:05
        回复
          我不是神,但我听过神的传说。


          IP属地:广东来自手机贴吧6楼2013-04-14 01:11
          回复
            如果flag是属性的话,b方法不要加参数就好了,或者参数不要起名叫flag,再或者用this.flag。


            IP属地:法国来自iPhone客户端8楼2013-04-14 07:05
            回复
              a(){
              Boolean flag = true;
              b(flag);
              System.out.println(flag);
              }
              void b(Boolean flag){
              flag = false;
              }
              这样试试。因为对于基本类型的变量,传参只是对数据的一份拷贝,把他换成类类型的,传递的就是地址的拷贝了。


              9楼2013-04-14 07:29
              回复