Java 用于打印复合编号的循环生成器
我希望我的isPrimeNumber函数返回null(因此它不会打印isPrimeNumber函数中的任何数字),但方法显然不能返回null。我想让for循环掩盖打印的数字和素数函数,以及打印不在素数函数和1中的数字,即复合数。下面是我的代码的样子:Java 用于打印复合编号的循环生成器,java,for-loop,methods,Java,For Loop,Methods,我希望我的isPrimeNumber函数返回null(因此它不会打印isPrimeNumber函数中的任何数字),但方法显然不能返回null。我想让for循环掩盖打印的数字和素数函数,以及打印不在素数函数和1中的数字,即复合数。下面是我的代码的样子: //prints all composite numbers public class App { public static void main(String[] args) { for(int i = 1; i
//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);
}
}
//打印所有复合数字
公共类应用程序{
公共静态void main(字符串[]args)
{
对于(int i=1;i查找素数时不返回null
。YY无法从返回类型为void
的方法返回值,但即使此代码确实通过编译,在检测到素数时也不想离开该方法
将条件从
if (isPrimeNumber(i)) {
return null;
} else {
System.out.println(i);
}
到
if (!isPrimeNumber(i)) {
System.out.println(i);
}