【发布时间】:2016-07-05 02:20:42
【问题描述】:
我正在编写一个方法,该方法将检查一个数组并返回一个仅包含唯一整数的数组,但是在返回语句中出现编译器错误“找不到符号”。我该如何解决这个问题?
错误:
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;
}
【问题讨论】:
-
修正你的缩进,你可能会发现你的错误。
-
正如@Hontaro 所说,变量是在循环内定义的,因此在循环范围之外无法访问
-
你为什么不用docs.oracle.com/javase/7/docs/api/java/util/…
return Arrays.copyOf (uniqueArray, count);
标签: java