利用Java方法获取质数

输出101—200之间的质数,使用Java方法,结果却每个数字都输出了

public class k {
    public static void zhishu(int num1) {
        for (int b = 2; num1 > b; b++) {
            if (num1 % b == 0) {
                System.out.println(num1);
                break;
            }
        }
    }

    public static void main(String[] args) {
        for(int c=101;c<=200;c++){
            zhishu(c);
        }

    }
}



结果输出了101-200的所有数字
你的质数判断有问题
public static void zhishu(int num1) {
        for (int b = 2; num1 > b; b++) {
            if (num1 % b == 0) {
                break;
            }
        }
        if (b==num1) {
            System.out.println(num1);
        }
    }


自己本身要去掉呀,可以参考下这个

    public static void main(String[] args) {
        for(int i=101;i<=200;i++){
            for(int j=2;j<=i;j++){
                if(i%j==0&&i!=j){
                    break;
                }
                if(j==i){
                    System.out.println(" "+j);
                }
            }
        }
    }