这是我到目前为止尝试过的,无法获得正确的输出。我试图以相反的方向遍历数组,但被卡住了。
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;
}
答案 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
}
}