java的Prime编号程序

idu*_*ude 2 java primes numbers logic-programming

我是编程新手,需要java程序的帮助.我希望我的程序返回1到10之间的所有素数.

    for(int i=1; i<=10; i++){
        int factors = 0;
        int j=1;

        while(j<=i){
            if(i % j == 0){
                factors++;
            }
            j++;
        }
        if(factors==2){
            System.out.println(j);
        }
    }
Run Code Online (Sandbox Code Playgroud)

我没有收到2,3,5和7,而是收到3,4,6和8

Veg*_*ger 7

您打印j而不是i,将您的println()行更改为:

System.out.println(i);
Run Code Online (Sandbox Code Playgroud)

j = i + 1while-loop 之后,你的结果是"太大了" .