代码如下:package com.july.s;
public class Su {
public static void main(String args[]) {
int i, j;
for (i = 1; i < 50; i++) {
for (j = 1; j < i; j++) {
while (i % j == 0) {
if (j != 1 & j != i)
System.out.println(" " + i);
else
return ;
}
}
}
}
}
你的程序有两个比较明显的问题:
1、return将会结束程序,你应该使用continue或者break;
2、while( i % y ==0) 如果未用break;,去掉return之后将会死循环。
以下代码供你参考:
public class Su {
public static void main(String args[]) {
int i, j;
for (i = 2; i <= 50; i++) {
for (j = 2; j < i; j++) {
if (i % j == 0)
break;
}
if (j >= i)
System.out.println(i);
}
}
}
这样做应该就可以了
for (int i = 0; i < 50; i++) {
boolean issushu = true;
for (int j = 1; j < i; j++) {
if (i%j ==0&j!=1&j!=i) {
issushu = false;
break;
}
}
if (issushu) {
System.out.println(i+"-----\n");
}
}