可以看看到底出了什么问题吗?

题目就是判断一个正整数是不是素数,如果是就输出prime,如果不是就输出not prime。

import java.util.Scanner;

public class Main{
    public static void main(String[] args) {
        for (int i=1; i<100; i++) {
            isPrime(i);
        }
    }
    
    private static boolean isPrime(int n) {
        double k = Math.sqrt(n);
        int i = 2;
        while (i<=k) {
            if (n % i == 0) {
                System.out.println("not prime");
                return false;
            }
            i++;
        }
        System.out.println("prime");
        return true;
    }
}

输出结果是这样

img

不是对的吗?哪里不对?

就是1错了呗。
for(int i=2;i<100;i++)
1不用算了