计算所有奇数数组索引的总和

fez*_*fez 1 java arrays for-loop if-statement

我想计算所有奇数数组索引的总和,但是我在找到正确的方法时遇到了一些麻烦.

到目前为止,这是我的代码:

    String id = "9506265088085";
    String[] strArray = id.split("");

    int[] intArray = new int[strArray.length];

    int sum = 0;

    for (int i = 0; i < 6; i++) {

        if (i%2!=0)
        {
            sum += Integer.parseInt(String.valueOf(id.charAt(i)));

        }} 

        System.out.println(sum);
Run Code Online (Sandbox Code Playgroud)

为什么这不起作用的任何想法,或更简单的方法呢?为了澄清我想在奇数阵列索引位置添加所有数字,所以intArray[1] + intArray[3] + intArray[5] + ....

编辑: 忘记提及我只想添加1,3,5,7,9,11而不是13.

JNL*_*JNL 7

你只是从循环 i=0 to i=5


ars*_*jii 5

另一个答案是对的,你只是循环到5.然而,你使这个过于复杂; 你可以使用一个巧妙的技巧来避免Integer.parseInt()String.valueOf():

int sum = 0;

for (int i = 1; i < id.length(); i += 2) {
    sum += (id.charAt(i) - '0');
}
Run Code Online (Sandbox Code Playgroud)

还要注意,不是i%2重复检查,而是可以2在每次迭代结束时简单地添加到循环控制变量(并让它从头开始,1这样你只能击中奇数索引).