用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循环,还有你的代码的冗余性太高,有多余的无效代码