Java素数检查未按预期工作
我已经写了检查素数的代码,但是它没有给我正确的输出
int flag;
Scanner s = new Scanner (System.in);
System.out.println("enter upper nd lower bound");
int lower = s.nextInt();
int upper = s.nextInt();
int i=0;
int j=0;
for ( i =lower ; i<=upper ;i++){
if(i==1){
continue;
}
}
flag =1;
for ( j = 2 ; j<=i/2 ; j++) {
if(i%j==0)
flag = 0;
break;
}
if(flag == 1){
System.out.println(i);
}
我的输入是110 它给我看了11个
# 1 楼答案
代码的主要问题是,第二个
for loop
应该嵌套在第一个for loop
中。正因为如此,第二个for loop
中的代码得到了i=11
。当我们把第二个for loop
放在嵌套的for loop
中时,将根据条件有不同的i
值# 2 楼答案
https://ideone.com/iwVrro