我的节目:
public static void evenval (int[] array ){
int even=0;
for (int r = 0; r < array.length; r++) {
while (r == array[r]) {
if (array[r] % 2 ==0) {
even = array[r];
System.out.println("The first even number's index is:"+array[r]);
}
我试图创建一个循环,它在数组中找到第一个偶数,并让它输出它对主方法的索引。
我被困了,请帮忙。
答案 0 :(得分:0)
尝试使用for
这样的循环:
int even = 0;
for (int r=0;r<array.length;r++){
if (array[r] % 2 ==0){
even = r;
break;
}
}
System.out.println("The first even number's index is:"+ even );
找到偶数时使用break;
。
例如,如果您想查找100th
偶数,请使用此:
int even = 0;
int count = 0;
for (int r=0;r<array.length;r++){
if(array[r] % 2 ==0){
if(count !=100){
count++;
}else{
even = r;
break;
}
}
}
System.out.println("The first even number's index is:"+ even );
答案 1 :(得分:0)
最好在你的类中创建一个小方法,并从main调用它来为你做这个并返回索引,如果找不到有效的偶数,则返回-1。 :
{{1}}
答案 2 :(得分:0)
</body>
答案 3 :(得分:0)
只需删除代码中的while statement
即可。
int even = 0;
for (int r = 0; r < array.length; r++) {
if (array[r] % 2 == 0) {
even = array[r];
System.out.println("The first even number's index is:" + array[r]);
}
}
如果您想在找到第一个偶数后停止,只需将break
放在if statement
int even = 0;
for (int r = 0; r < array.length; r++) {
if (array[r] % 2 == 0) {
even = array[r];
System.out.println("The first even number's index is:" + array[r]);
break;
}
}
答案 4 :(得分:0)
您也可以简单地使用按位操作(性能方面,它更快):
for (int n : array) {
if ((n&1) == 0) {
System.out.println("The first even number's index is:" + n);
break;
}
}