谁帮我注释下,要详细的,谢谢大家!!
//file name:zhishu.java //输出区间的所有质数import java.util.*;
public class zhishu
{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("输入数的上限跟下限:");
int min = in.nextInt();
int max = in.nextInt();
boolean f = true;
if(min%2==0)
{
for(int i=min+1;i<max;i+=2) {
for(int j=2;j<i;j++){
if(i%j == 0){
f = false;
break;
}
}
if(!f){
f = true;
continue;
}
System.out.println(i);
}
}
else
{
for(int i=min;i<max;i+=2) {
for(int j=2;j<i;j++) {
if(i%j == 0) {
f = false;
break;
}
}
if(!f) {
f = true;
continue;
}
System.out.println(i);
}
}
}
}
搜索更多相关的解决方案:
注释
----------------解决方案--------------------------------------------------------
public class zhishu
{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("输入数的上限跟下限:");
int min = in.nextInt();
int max = in.nextInt();
boolean f = true;
if(min%2==0) //判断min是否为偶数
{
for(int i=min+1;i<max;i+=2) {
//如果min为偶数->i=min+1;i小于max;i+2->比如说min为2,那么就是i=2+1;i小于max;3+2
for(int j=2;j<i;j++){
if(i%j == 0){ //比如说i=6;j=3;那么此时的i就不是质数了.f->为假;跳出内循环
f = false;
break;
}
}
if(!f){ //如果f为非真->也就是说f为假时
f = true;
continue; //跳到迭到部分(i+2)继续执行
}
System.out.println(i); //当f为真(true)时。输出此时i的值
}
}
else
{
for(int i=min;i<max;i+=2) {
for(int j=2;j<i;j++) {
if(i%j == 0) {
f = false;
break;
}
}
if(!f) {
f = true;
continue;
}
System.out.println(i);
}
}
}
}
[ 本帖最后由 gameohyes 于 2009-10-29 22:52 编辑 ]
----------------解决方案--------------------------------------------------------
顶!LS解释得很详细
----------------解决方案--------------------------------------------------------