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

通过从头开始观察元素,数组b中的字符改变了多少次

通过从头开始观察元素,数组b中的字符改变了多少次

慕村9548890 2024-01-25 21:56:18
public static  int changeSign(int [] b) {    int counter=0 ;    for(int i=0;i<b.length;i++) {        if(b[i]>0 && b[i+1]<0) {            counter++;        }        if(b[i]<0 && b[i+1]>0) {            counter++;        }    }    return counter;    }例如,u 10, -4, 12, 56, -8, -9字符改变3次数
查看完整描述

1 回答

?
HUX布斯

TA贡献1876条经验 获得超6个赞

你遇到的问题是ArrayIndexOutOfBoundsException因为当你尝试访问which isi时,这是不可能的,因为索引从0开始,所以你需要在之前停止一步。b.length-1b[i+1]b[b.length]


另外,为了只得到一个条件,您可以相乘并查看结果的符号:


public static int changeSign(int[] b) {

    int counter = 0;

    for (int i = 0; i < b.length - 1; i++) {

        if (b[i] * b[i + 1] < 0) {

            counter++;

        }

    }

    return counter;

}


查看完整回答
反对 回复 2024-01-25
  • 1 回答
  • 0 关注
  • 90 浏览

添加回答

举报

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