0

所以我有一个家庭作业问题。这是我需要做的:

编写方法oddsMatchEvens 的定义,它的两个参数是大小相等的整数数组。每个数组的大小都是偶数。当且仅当第一个数组的偶数索引元素依次等于第二个数组的奇数索引元素时,该方法才返回 true。也就是说,如果 w 是第一个数组,q 是第二个数组,w[0] 等于 q[1],w[2] 等于 q[3],以此类推。

我所拥有的是:

public boolean oddsMatchEvens(int[] w, int[] q){
int count = 0;

for(int i=0; i < w.length; i++){
if(w[i].equals(q[i + 1])){
count++;
if(count == w.length){
return true;
}
}
}

我收到此错误:

  

⇒     You almost certainly should be using: &&
     ⇒     You almost certainly should be using: +=
     ⇒     You almost certainly should be using: >=
4

3 回答 3

1

尝试这个:

if(w[i] == q[i + 1])

'equals' 方法用于对象。

当然,必须始终返回布尔值。

该方法的工作版本:

public boolean oddsMatchEvens(int[] w, int[] q) {
    int count = 0;
    for (int i = 0; i < w.length; i++) {
        if (w[i] == q[i + 1]) {
            count++;
            if (count == w.length) {
                return true;
            }
        }
    }

    return false;
}
于 2013-08-28T09:00:31.657 回答
1
public boolean oddsMatchEvens(int[] w, int[] q){
    int count = 0;

    for(int i=0; w.length >= i; i++){
        count += 1;
        if(w[i] == q[i + 1] && count == w.length){
            return true;
        }
    }
}
于 2013-08-28T09:05:33.210 回答
1

您应该将 return 放在 for 循环之外。

for(int i=0; i < w.length; i++){.....}   
return count==w.length;
于 2013-08-28T09:11:05.673 回答