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.
另一个答案是对的,你只是循环到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
这样你只能击中奇数索引).
归档时间: |
|
查看次数: |
4480 次 |
最近记录: |