java - 查找数组中的唯一元素 - 编译器错误

标签 java

我正在编写一个方法,该方法将检查数组并返回仅包含唯一整数的数组,但是我在返回语句中收到编译器错误“找不到符号”。我该如何解决这个问题?

错误:

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;
}

最佳答案

您在 for-Block 中声明了 finalUniqueArray ,这意味着它是一个局部变量,并在循环执行后被销毁,因此您无法在 return 语句中访问它,该语句位于外部for循环

关于java - 查找数组中的唯一元素 - 编译器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38194324/

相关文章:

java - 使用java代码以编程方式创建android应用程序

java - ProcessBuilder 不起作用?

java - 条件,如何访问子类属性

java - 在 Spring Boot JPA 中使用 Hibernate 过滤器

java - 为什么这两个表达式计算出不同的值?

java - 如何使用 GridBagLayout 防止组件晃动?

java - 我应该让这个类级别的变量更本地化吗?

java - 本地镜像上传未显示在 Google App Engine 上

java - 在哪里可以找到java方法的时间复杂度?

java - 无法连接到 Sybase 数据库