#java基础 判断素数为什么这样写无法调用方法呀?求指导!!

问题遇到的现象和发生背景

用do-while和方法判断是否为素数,刚学方法我实在看不出来哪里有问题

问题相关代码,请勿粘贴截图

是同一类里的方法
主方法里除了输入是这样写的


int x = s.nextInt();
  isPrime(x);
    if(isPrime(s.nextInt())) {
        System.out.printf("\n %d是素数..",x);
    }else {
        System.out.printf("\n %d不是素数。",x);

然后成员方法里这样写了

static boolean isPrime(int x) {
        boolean isPrime = true;
        int i = 2;
        while(i < x) {
            if(x % i == 0) {
                isPrime = false;
                i++;            
            }
        }
        return isPrime;
    }    
运行结果及报错内容

但是输入了之后程序也不结束 也不调用方法

你声明x的意义在哪?似乎没用上

你写的s. nextint()中的s你截图里面没有申明是否是scanner对象,其次你的while循环的执行条件可能会以及你的执行体可能会造成死循环,当i不能被x整除的时候,你没有进一步处理i,导致一直执行while循环,还有你的代码的冗余性太高,有多余的无效代码