java的for循环语句有点看不懂,求文字解释!!在线等回答。

2024年11月18日 02:52
有5个网友回答
网友(1):

for(int j=2 ; j if(i%j == 0){//i是101开始到200的数,循环的去除以2-小于自身-1的数,例如:101就是除以2,3,4...100,在这中间,如果有被整出,那么这个书就不是质数,所以,令f= false
f=false;
break;
}*/

我给你一个我回答过的找质数的程序:

public class Test {
public static void main(String[] args) {
//循环1000以内的数
for (int n=2;n<=1000;n++){
//给b初始值true
boolean b = true;
//如果循环拿到的数n不等于1,就进入下面循环
if (n != 1 ){
//i从大于1的第一个数也就是2开始,一次循环到比这个数n本身小的最大的数
//何为质数,除了1和他本身不能再被其他数整除。所以...这样循环
for (int i = 2; i < n; i++){
if (n % i == 0){//如果取余为0,也就是除了1和其本身有其他数可以乘除他,所以置为false
b = false;
//跳出当前循环,判断是否打印,并且到外面循环继续
break;
}

}
}
//如果b为true打印下面的质数
if (b){
System.out.println(n + "是质数");
}
}
}
}

网友(2):

我运行了一下这个程序,结果如下:
---------- 运行JAVA ----------
101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199
输出完成 (耗时 0 秒) - 正常终止
这里面也没有129啊

另外,你理解的不对,这是双重循环的程序,从101开始,每个数执行了第二个for循环,也就是都从2开始当除数,一直除到这个数自身为止。

网友(3):

程序确实是输出101-200之间的质数。因为质数有个特点,它除了1和本身,都不能整除,或者说小于自己大于1里面的数都不能整除,for(int j=2;j

网友(4):

这个循环意思是用 i 来依次除从2到 i-1 之间的数,如果能除尽(即i%j==0)就把f记为false,代表不是质数,break跳出该循环,继续外层的循环。

网友(5):

中间那个for就是用来判断是否质数的,并为是否后续打印该数做准备工作!!!