输出大于某个正整数n的最小的质数运行速度太慢

运行速度太慢 大概30s左右 有没有大有优化的方案啊~
//2、编写一个方法,输出大于某个正整数n的最小的质数。
        //思考:这个方法应该起什么名字,这个方法的形参是什么,方法的返回值类型是什么。
import java.util.Scanner;

public class day11 {
public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
                System.out.print("请输入一个整数:");
        int n=sc.nextInt();
        int b=day11.zhiShu(n);
            System.out.println(b);
            }
public static int zhiShu(int a){
        for (int i=a;true;i++){
            for (int d=2;true;d++){
                if (i%d==0&&i/d!=1){
                     break;
                } else if (i%d==0&&i/d==1) {
                    if (i>a){
                        return i;
                    }

                }
            }

            }
        }
}


双重循环,true校验,只要不走你的break,内外循环会一直循环,外层一次,内层一轮,30秒能跑出来算好的了,没有给你死循环就不错了

img

public class test      {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入数字n:");
        int n = sc.nextInt();
        System.out.println("大于" + n + "的最小质数为:" + printPrime(n));
    }

    public static int printPrime(int n) {
        while (true) {
            n++;
            boolean flag = isPrime(n);
            if (flag) {
                break;
            }

        }
        return n;

    }

    public static boolean isPrime(int n) {
        for (int i = 2; i < n; i++) {
            if (n % i == 0) {
                return false;
            }
        }
        return true;

    }


}