1

这是一个基本问题,但我确实需要一些帮助。

给定两个整数数组 a 和 b,如果它们具有相同的第一个元素或它们具有相同的最后一个元素,则返回 true。两个数组的长度都为 1 或更大。

commonEnd({1, 2, 3}, {7, 3}) → 真

commonEnd({1, 2, 3}, {7, 3, 2}) → 假

commonEnd({1, 2, 3}, {1, 3}) → 真

我有以下代码,但它不会编译:

public boolean commonEnd(int[] a, int[] b) {
    if(a[0] == b[0] || a[a.length-1] ==b[b.length-1])
        return true;
}
4

5 回答 5

4
  • 您缺少 if 的正确括号。

  • 您需要在“其他”部分返回一些东西(假)。

你应该得到一个编译器错误来告诉你这一点。

就个人而言,我会完全摆脱if并做

return  a[0] == b[0] || a[a.length-1] ==b[b.length-1];

(但这可能被认为难以阅读)

于 2012-11-16T04:50:43.413 回答
0

如果,如果是不真实的,你没有返回类型

  public boolean commonEnd(int[] a, int[] b) {
  if(a[0] == b[0] || a[a.length-1] ==b[b.length-1])
      return true;
  return false;
  }
于 2012-11-16T04:56:22.037 回答
0
public boolean commonEnd(int[] a, int[] b) {
  if((a[0] == b[0]) || (a[a.length-1] ==b[b.length-1]))
      return true;
  return false;
}

您错过了 return 语句(如果 if 语句不为真),这就是它没有编译的原因。

于 2012-11-16T05:01:33.030 回答
0

此代码工作正常: -

public boolean commonEnd(int[] a, int[] b) {
  int length1=a.length;
  int length2=b.length;
  if(a[0]==b[0]||a[length1-1]==b[length2-1]){
    return true;
  }
  return false;
}
于 2020-06-20T09:15:02.743 回答
-1

期望函数的返回语句

public boolean commonEnd(int[] a, int[] b) {
    if(a[0] == b[0] || a[a.length-1] ==b[b.length-1]) //Missed `)`
          {
          return true;
          }
        return false;
     }
于 2012-11-16T04:58:02.923 回答