有办法实现吗?求100以内的素数?
public class ContinueTest {
public static void main(String args[]) {
int j;
for (int i = 2; i < 100; i++) {
for (j = 2; j < i; j++) {
if (i % j == 0)
break;
}
if(i==j)
System.out.print(i + "\t");
}
}
}
public class ContinueTest {
public static void main(String args[]) {
int j;
for (int i = 2; i < 100; i++) {
for (j = 2; j < i; j++) {
if (i % j == 0)
break;
}
if(i==j)
System.out.print(i + "\t");
}
}
}
public static void main(String args[]) {
int j;
label1: for (int i = 2; i < 100; i++) {
for (j = 2; j < i; j++) {
if (i % j == 0)
//break;
continue label1;
}
if(i==j)
System.out.print(i + "\t");
}
}
}可以如上修改。不过这样改了之后,continue的时候if (i==j){...}那一句就不会执行了。
public static void main(String args[]) {
int j;
out:for (int i = 2; i < 100; i++) {
in:for (j = 2; j < i; j++) {
if (i % j == 0)
continue out;;
}
if(i==j)
System.out.print(i + "\t");
}
}
}
http://web.mblogger.cn/jamesfancy/posts/46798.aspx
http://blog.csdn.net/jamesfancy/archive/2006/09/09/1198210.aspx
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+"是素数!");
}
}
带标签的break和continue具有一定的goto语句的特点,主要是为了多层循环中方便控制,但是一个好一点的结构完全可以避免多层循环,所以……可用,但是建议少用。