我正在写一个方法来检查一个数组并返回一个只有唯一整数的数组,但是我在返回语句中出现编译器错误,“找不到符号” 。我怎样才能解决这个问题?查找数组中的独特元素 - 编译器错误
错误:
Solution.java:35:错误:无法找到符号
符号:变量finalUniqueArray
位置:一流的解决方案
static int[] findUniqueElements(int[] a) {
int[] uniqueArray = new int[a.length];
int count = 0;
for (int i = 0; i < a.length; i++){
boolean exists = false;
int value = a[i];
for (int k = 0; k <= count; k++){
if (value == uniqueArray[k]){
exists = true;
break;
}
if (!exists){
uniqueArray[count] = value;
count++;
}
exists = false;
}
int[] finalUniqueArray = new int[count];
for (int k = 0; k < count; k++)
finalUniqueArray[k] = uniqueArray[k];
}
return finalUniqueArray;
}
解决您的缩进,你会发现你的错误。 –
as @Hontaro表示变量在循环中定义,因此无法在循环范围外访问 –
为什么不使用https://docs.oracle.com/javase/7/docs/api/java/ util/Arrays.html#copyOf(int [],%20int)'return Arrays.copyOf(uniqueArray,count);' –