For the life in me, I can’t figure out this error. I even used a video tutorial to check. My code seems fine. Yet, I can’t get past this error.
Here’s the code:
// Import statement:
import java.util.ArrayList;
class PrimeDirective {
// Add your methods here:
public boolean isPrime(int number) {
if (number == 2) {
return true;
} else if (number < 2) {
return false;
}
for (int i = 2; i < number; i++){
if (number % i == 0) {
return false;
}
return true;
}
public ArrayList<Integer> onlyPrimes(int[] numbers) {
ArrayList<Integer> primes = new ArrayList<Integer>();
for (int i : numbers) {
if (isPrime(i) == true) {
primes.add(i);
}
}
return primes;
}
public static void main(String[] args) {
PrimeDirective pd = new PrimeDirective();
int[] numbers = {6, 29, 28, 33, 11, 100, 101, 43, 89};
System.out.println(pd.isPrime(6));
}
}
The “illegal start of expression” error starts at this line:
public ArrayList<Integer> onlyPrimes(int[] numbers)
If I remove that whole section of the code, the error then comes from this line:
public static void main(String[] args)
Which is Codecademy’s own writing. But before adding anything to it. But if I take out everything I added except for the import statement, there’s zero issue.
// Import statement:
import java.util.ArrayList;
class PrimeDirective {
// Add your methods here:
public static void main(String[] args) {
PrimeDirective pd = new PrimeDirective();
int[] numbers = {6, 29, 28, 33, 11, 100, 101, 43, 89};
}
}
Obviously, I’m doing something wrong, but I cannot find it! I worked on this for much of last night, tried googling it, looking for similar topics in the forums, YouTube… I’m stumped. Nothing looks wrong here, but something is.