为了账号安全,请及时绑定邮箱和手机立即绑定

这是一个值的传递问题,具体看代码?

这是一个值的传递问题,具体看代码?

cyc川 2016-08-26 11:03:24
public static void toText(int[] sz) {//传输进来的是长度为4的一位数组        int gps = -1;//gps位置锁        int connect = 0;        for (int cycle = 1; cycle <= 3; cycle++) {            boolean gps_2 = true;//当前锁            for (i = cycle - 1; i >= 0; i--) {// cycle=2,i=1,j=1                boo = false;                j = i + 1;                if (sz[j] == 0) {                    break;//当前操作的数字为0,退出内循环                } else if (sz[i] == 0) {                    Move(sz[i], sz[j]);                } else if (sz[i] == sz[j] && i > gps && gps_2 == true) {                    Add(sz[i], sz[j]);                    gps_2 = false;                 } else {                    break;// 当当前位置的数字,与他前面位置的数字不同时,退出内循环                }                connect = i;            }            if (boo == true) {// 如果之前的数字有执行相加操作,那么boo的值将变为true                gps = connect;// 锁定当前connect的值            }        }    }//这是我代码的一部分。//之前没有connect这个变量,i是全局变量,在没有设置connect之前,我最后一个if判断里面写的是:gps=i;那么问题来了,//为什么这里传下来i的值全为-1,导致gps的值也是-1,之后我加了connect,偶然间解决了问题,但是还是没搞明白为什么,求解
查看完整描述

1 回答

?
Lydoo

TA贡献4条经验 获得超3个赞

你的i在哪儿定义的? for 循环里面直接用的i。 如果在类外定义的i,检查是不是有其他地方对i操作过。

查看完整回答
反对 回复 2016-08-27
  • 1 回答
  • 0 关注
  • 1303 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信