【发布时间】:2016-07-05 13:33:06
【问题描述】:
我希望我的 isPrimeNumber 函数返回 null(因此它不会打印 isPrimeNumber 函数中的任何数字),但方法显然不能返回 null。我希望 for 循环掩盖打印的数字和素数函数,并打印不在素数函数中的数字和一个,即合数。这是我的代码的样子:
//prints all composite numbers
public class App {
public static void main(String[] args)
{
for(int i = 1; i <= 10000; i++)
{
if (isPrimeNumber(i))
{
return null;
}else{
System.out.println(i);
}
}
}
public static boolean isPrimeNumber(int i) {
int factors = 0;
int j = 1;
while(j <= i)
{
if(i % j == 0)
{
factors++;
}
j++;
}
return (factors == 2);
}
}
main 函数中的 else 语句应该打印 1 到 10000 之间的所有复合数字。我该如何解决这个问题?
【问题讨论】: