找到第一个偶数元素并输出索引

时间:2016-02-15 22:52:15

标签: java arrays

我的节目:

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]);
        }

我试图创建一个循环,它在数组中找到第一个偶数,并让它输出它对主方法的索引。

我被困了,请帮忙。

5 个答案:

答案 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;
     }
 }