public class Exec {
public static void main(String args[]) {
for (int i = 1; i <= 1000000; i += 2) {
boolean flag = true;
for (int j = 2; j < Math.sqrt(i); j++) {
if (i % j == 0) {
flag = false;
break;
}
}
if (flag)
System.out.println(i);
}
}
}
public class Esce {
public static void main(String[] args) {
int i = 1, j = 2;
for (i = 1; i < 101; i++) {
for (j = 2; j < i; j++)
if (i % j == 0) {
break;
} else
System.out.print(i + " ");
}
}
}
为什么把 else 换成 if(i==j) 才对?
if(i==j)在这起什么作用??
你的错误来自于排版,请注意格式Ctrl+Shift+F
如果是else则与if语句一起作为for的内部子语句
public class Exec {
public static void main(String[] args) {
int i = 1, j = 2;
for (i = 1; i < 101; i++) {
for (j = 2; j < i; j++)
if (i % j == 0) {
break;
} else
System.out.print(i + " ");
}
}
}
如果是if (i == j)则此语句与for语句同级,不是for的内部子语句
public class Exec {
public static void main(String[] args) {
int i = 1, j = 2;
for (i = 1; i < 101; i++) {
for (j = 2; j < i; j++)
if (i % j == 0) {
break;
}
if (i == j)
System.out.print(i + " ");
}
}
}