【发布时间】:2017-11-21 09:39:35
【问题描述】:
我在这个程序中发现两个数组中缺少的元素时出错,我是 Java 新手。
package com.google.challenges;
public class Answer {
public static int answer(int[] x, int[] y) {
for (int n : x) {
if (!isPresent(n, y)) {
return n;
}
}
for (int n : y) {
if (!isPresent(n, x)) {
return n;
}
}
return 0;
}
private static boolean isPresent(int n, int[] b){
for (int i : b) {
if (n == i) {
return true;
}
}
return false;
}
}
【问题讨论】:
-
为什么在方法块外返回 0?这是无效的java代码
-
在哪一行出现编译错误?如果是最后一个返回0; } 这不是您的代码的一部分,那么这是一个真正的编译错误,因为该语句不是任何方法的一部分。
-
由于函数返回一个整数,如果 for 循环中的两个 if 语句都失败,我只需返回一个零值
-
这句话“两个数组中的缺失元素”令人困惑,你的意思是第一个数组中存在的元素,反之亦然,或者你的意思是两者的交集?
-
输入:(int list) x = [13, 5, 6, 2, 5] (int list) y = [5, 2, 5, 13] 输出:(int) 6 输入: (int list) x = [14, 27, 1, 4, 2, 50, 3, 1] (int list) y = [2, 4, -4, 3, 1, 1, 14, 27, 50] 输出: (int) -4 在两个给定数组中都没有找到的数字