当前位置: 首页 > 知识库问答 >
问题:

编译器要求我包含一个return语句,尽管我已经包含了一个

司空高义
2023-03-14

我是Java的新手,正在尝试解决初学者在给定数之后寻找下一个素数的问题。下面是我提出的解决方案的两个版本。对于第一个版本,编译器要求我包含第二个return语句(即return 0;)在findNextNumber方法的末尾,我已经在代码中包含了一个return语句,而第二个版本没有要求我包含一个额外的return语句。有人能告诉我为什么会这样吗?提前感谢您的帮助!

    public static int findNextPrime(int num) {

// VERSION 1
//        boolean isPrime = false;
//        while(!isPrime){
//            num += 1;
//            int sqt = (int)Math.sqrt(num);
//            for(int i = 2; i <= sqt; i++){
//                if(num % i == 0){
//                    break;
//                } else {
//                    isPrime = true;
//                    return num;
//                }
//            }
//        }
//        return 0;

// VERSION 2       
//        while (true) {
//            boolean isPrime = true;
//            num += 1;
//            int sqt = (int) Math.sqrt(num);
//            for (int i = 2; i <= sqt; i++) {
//                if (num % i == 0) {
//                    isPrime = false;
//                    break;
//                }
//            }
//            if (isPrime) {
//                return num;
//            }
//        }
    }

共有1个答案

李俭
2023-03-14

在第二个版本中,编译器知道while(true){...}只能由您的return语句退出。

在第一个版本中,编译器发现条件不是常量,并假设while(!isprime){...}可能退出循环,因为isprime为true。你我都知道这是不可能发生的,但语言不会让你依赖于这一点来省略return语句。

如果您确定isprime始终为false,则将while(!isprime)更改为while(真)for(;;)

 类似资料:
  • 我不断地得到缺少的return语句并且在解析时到达文件的结尾,然而我已经有了return语句并且我的代码正确地关闭了括号。请帮忙,谢谢

  • 本文向大家介绍PHP 包含并要求,包括了PHP 包含并要求的使用技巧和注意事项,需要的朋友参考一下 示例 要求 require与相似include,除了会E_COMPILE_ERROR在失败时产生致命的级别错误。当require失败时,它将停止脚本。当include失败时,它不会停止脚本,只会发出E_WARNING。 PHP手册-控制结构-要求 包括 该include语句包括并评估文件。 ./va

  • 使用Tomcat 7.0.34、Primefaces 3.5和mojarra 2.1.25,我得到了以下文件“client.xhtml”: 文件client.inc(这是一个普通的xhtml,在几个xhtml文件中使用)如下:(简化) 和“客户端比林.inc”:(我在其他几个xhtml文件中使用) “clientBilling.inc”中的选项卡没有显示,但如果我将其从p:tabView上取下,就

  • 这是我第一次问问题,如果这看起来很奇怪,很抱歉。这是我的完整代码。和星星分开的线就是断裂的线。

  • 公共类请求参数{ } 当我在URL为“param2=ffffhhh”的情况下测试上述方法时

  • 问题内容: 我想要求/包括一个文件,并将其内容检索到一个变量中。 test.php index.php 喜欢但是比它仍然应该执行PHP代码。这可能吗? 问题答案: 我也遇到过这个问题,尝试类似