Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用于打印复合编号的循环生成器_Java_For Loop_Methods - Fatal编程技术网

Java 用于打印复合编号的循环生成器

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

我希望我的isPrimeNumber函数返回null(因此它不会打印isPrimeNumber函数中的任何数字),但方法显然不能返回null。我想让for循环掩盖打印的数字和素数函数,以及打印不在素数函数和1中的数字,即复合数。下面是我的代码的样子:

//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);
     }