以下的程序我不明白第二个if的存在,求大神帮忙解答

import java.math.*;

public class Test3 {

public static void main(String[] args){

int sum=0;

for(int i=101;i<=200;i++){

int j;

for(j=2;j<i;j++){

if(i%j==0)

break;

}

if(j<i)

{ continue;}

else

{System.out.print(i+",");

sum+=i;


}

}

System.out.print(sum);

}


雯子wenzi
浏览 1307回答 2
2回答

花丶猫

这段代码是输出101到200所有的素数和素数和,外层的for循环用来遍历101到200的所有数,内层的for循环用来判断2到i之间存不存在一个整数j,使得i能够被j整除,第二个if用来检查j是否小于i,如果小于,证明i不是一个素数(i除了1和他本身之外,还有存在一个整数j能够整除i),如果没有第二个if语句,输出的应该是101到200的所有整数,第二个if就是用来排除i本身,把if(j<i)换成if(j!=i)是一样的结果。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java