用java编程:输入一个正整数n,输出n以内的所有素数。代码怎么写?

如题所述

public class HelloWorld {

    public static void main(String[] args) {
        System.out.println("请输入一个正整数n");
        Scanner input = new Scanner(System.in);
        int n = input.nextInt();
        for (int i = 2; i <= n; i++) // 1不是素数,所以直接从2开始循环
        {
            int j = 2;
            while (i % j != 0) {
                j++; // 测试2至i的数字是否能被i整除,如不能就自加
            }
            if (j == i)
            //当有被整除的数字时,判断它是不是自身,若是,则说明是素数
            {
                System.out.println(i); // 如果是就打印出数字
            }
        }
    }

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-01-14
123456789101112131415161718192021public class HelloWorld { public static void main(String[] args) { System.out.println("请输入一个正整数n"); Scanner input = new Scanner(System.in); int n = input.nextInt(); for (int i = 2; i <= n; i++) // 1不是素数,所以直接从2开始循环 { int j = 2; while (i % j != 0) { j++; // 测试2至i的数字是否能被i整除,如不能就自加 } if (j == i) //当有被整除的数字时,判断它是不是自身,若是,则说明是素数 { System.out.println(i); // 如果是就打印出数字 } } } }
第2个回答  2016-09-13
public class PrimeNumber{
public static void main(String args[]){
java.util.Scanner scan=new java.util.Scanner(System.in);
int n=scan.nextInt();

for(int i=2; i<=n; i++){
boolean b=true;
for(int j=2; j<i; j++){
if(i%j==0){
b=false;
}
}
if(b){
System.out.print(" "+i);
}
}

}
}
相似回答