如何找到数组中三个的最后一个倍数?

时间:2019-04-24 23:38:15

标签: arrays

这是我到目前为止尝试过的,无法获得正确的输出。我试图以相反的方向遍历数组,但被卡住了。

 public int findMultipleOfThree(int[] arr)
 {
    int multipleOfThree = 0;

    for(int x = arr.length-1; x >= 0; x--)
    {
       if(x % 3 = 0)
       {
           multipleOfThree = x;
       }
    }

    return multipleOfThree;
 }

2 个答案:

答案 0 :(得分:0)

您将x定义为索引而不是数字,因此,请使用arr[x]来获取数字,并且由于要按相反的顺序进行操作,一旦找到3的倍数,就可以正确返回离开。

public int findMultipleOfThree(int[] arr)
{
    for(int x = arr.length-1; x >= 0; x--)
    {
       if(arr[x] % 3 == 0)
       {
           return x;
       }
    }

    return -1; // Or whatever the not found variable is
 }

答案 1 :(得分:0)

在原始 java 数组中查找三的最后一个倍数:

import java.util.*;
public class Main{ 
    public static int findLastMultipleOfThree(int[] arr){ 
        int multipleOfThree = -1; 
        for(int i = 0; i < arr.length; i++){ 
            if(arr[i]%3 == 0){ 
                multipleOfThree = arr[i]; 
             } 
        } 
        return multipleOfThree; 
    }   
    public static void main(String[] args){ 
        int[] myarray = {2, 7, 8, 9, 10}; 
        System.out.println(findLastMultipleOfThree(myarray));   //prints 9 
    } 
}