用myeclipse编写一个程序,输出50以内的素数 为什么没有结果

代码如下: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");
        }
    }