java的Prime编号程序
我是编程新手,需要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); } }
我没有收到2,3,5和7,而是收到3,4,6和8
只打印我而不是j
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(i); } }
您打印j
而不是i
,将println()
行更改为:
System.out.println(i);
在while
-loop之后,你的结果是“一个太大”,因为j = i + 1
。