当我编译时,我收到一条错误,指出“无法找到符号”指向我的arr.add(j)
行。有人能解释我的代码有什么问题吗?
public class MyClass {
public static boolean IsPrime(int p) {
for (int i = 2; i < p; i++) {
if (p % i == 0 && i != p)
return false;
}
return true;
}
}
public static int[] GetPrimes(int n) {
int[] arr = new int[n];
for (int j = 1; j <= n; j++) {
if (IsPrime(j) {
arr.add(j);
}
}
return arr;
}
}
答案 0 :(得分:3)
Java不是javascript:数组没有方法(除了那些从Object继承的方法,基本上没用)。
改为使用List<Integer>
。
List<Integer> arr = new ArrayList<>();
...
arr.add(j);
...
return Arrays.asList(arr);
答案 1 :(得分:0)
此行arr.add(j);
必须更改为arr[j];
,因为您有array
而不是List
对象。
此外,您的班级名称必须以角色开头。