下面显示的代码是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()是在其他地方定义和编码的
答案 0 :(得分:0)
最后一行应更改如下:
return ((TreeSet) arr).last();
这会将arr
的类型转换为TreeSet
并调用last()
方法并在单个语句中返回其值