首页 > 解决方案 > IsPrime 方法有死代码并且不返回 int

问题描述

我想创建一个 java 方法来检查用户输入的 int 数是否为素数。但是,我收到“死代码”和“此方法必须返回 int 类型的结果”。有帮助吗?

  public static int isPrime(int first)
  {

    for (int i = first - 1; i > 1; i--)

      if (first%i == 0){
      int prime = 1;
      return prime;
    }

    else{
      int notPrime = 0;
      return notPrime;
    }

  }

标签: java

解决方案


将其复制并粘贴到编辑器中后,很明显这i--是导致出现死代码警告的部分。这样做的原因是因为您的for循环将在第一次迭代期间返回,并且您的部分代码i--将永远不会被执行(死代码)。

除此之外,其他答案和评论中提到的代码中还有其他一些问题。


推荐阅读