【发布时间】:2019-05-07 15:11:46
【问题描述】:
问题:
假设这是我的数组中的数字{1,2,3,4,5,6,7,8}
每个数字都是一个位置,例如::
1=1 ,2=2 , 3=3, 4=4, 5=5, 6=6, 7=7, 8=8
它不是数组位置,只是数字位置。现在我想删除奇数位置的数字然后它变成
2,4,6,8 :: 2=1, 4=2, 6=3, 8=4,
现在我想再次从奇数位置删除,所以它变成4,8 :: 4=1, 8=2
现在答案是8 那么如何得到这个8
代码:
int [] arr = new int [] {1, 2, 3, 4, 5, 6, 7, 8}; //I am taking certain number in array
System.out.println("Elements of given array present on even position:");
for (int i = 1; i < arr.length; i = i+2) {
System.out.println(arr[i]);
}
必须将值设为 8,但在输出中我得到:
2
2
2
2
4
4
4
4
等等
【问题讨论】:
-
研究使用模数运算符
-
所以简而言之,您希望数组的最后一个位置位于偶数索引上?因为这就是所有这些“消除可能性”总是会导致的结果。
-
您需要一个模运算符 (
%) 来识别奇数位置的数字和一个while循环(迭代while array.length >= 2) -
注意:如果你使用
for循环,你也可以不用模数来增加索引2而不是1。 -
在 Java 中,数组索引从 0 开始。