奇怪的“找不到符号” Java,带有TreeSet集合

时间:2018-07-27 19:03:20

标签: java compiler-errors

下面显示的代码是java方法,也是我代码的一部分。应该产生第n个(或第x个)素数。我想我一切都很好,直到return语句。当我尝试使用last()方法检索TreeSet中的最后一个元素时,出现“找不到符号”错误。请需要帮助。

public static int primes(int x)
{

    if (x == 1){return 2;}

    else if (x == 2){return 3;}

    else if(x == 3){return 5;}

    else if(x == 4){return 7;}

    else
    { 

    int hold = 0;

    Set<Integer> arr = new TreeSet<>();

    arr.add(2); arr.add(3); arr.add(5); arr.add(7); hold = 7;

    for (int z = 7; z != Integer.MAX_VALUE; z+=2)
    {

        if (isprime(z)){arr.add(z);}

        if (arr.size() == x){break;}
    }

    return arr.last();

    }
}

注意:isprime()是在其他地方定义和编码的

Compiler Error Image

1 个答案:

答案 0 :(得分:0)

最后一行应更改如下:

return ((TreeSet) arr).last();

这会将arr的类型转换为TreeSet并调用last()方法并在单个语句中返回其值