欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

Java提示缺少返回语句的解决办法

时间:2020-11-12 08:02:05|栏目:JAVA代码|点击:

Java提示缺少返回值语句怎么办?这里我们给大家提供具体的解决方法。

首先,以下面的程序为例,会看到在控制台有:错误:缺少返回语句的提示。

找到类中定义的方法test中发现,明明已经定义了return,软件依然会提示错误。

将return定义到for循环之外,就会发现,程序不再报错。

原因是因为数组不仅仅可以存放具体的变量值,而且可以不赋给数组任何值。

在数组内容为空的情况,程序是没有报错的,所以需要将return返回值定义到   for 循环之外即可。

关于Java中return缺少返回语句的解决方法总结如下:

Java 编译错误:缺少返回语句

import java.util.*;
import java.io.*;

public class tt {
  public static void main(String[] args) {
    foo();
  }
  
  public static String foo() {
    int i=0;
    while(i<10) {
      return "ggg";
    }
  }
}

该函数编译便会报错:缺少返回语句。尽管看起来(i<10)是肯定为真的,但是编译器不会把i=0带进去算,所以它觉得foo函数有可能无返回值(即while后条件为假的时候)。

同理,把while改成if,编译报同样的错误。

把while(i<10)改为while(true)后,不再报错。

但是C就随意得多,跟Java比起来以下如此不确定的代码也能正常编译运行:

#include <stdlib.h>
#include <stdio.h>

int main()
{
  int a=foo();
  printf("%d\n",a);
  return 0;
}

int foo()
{
  int i=0;
  while(i++<10)
  {
    if(i>5) return 5;
    else return 4;
  }
}

再举个java例子:

这么写会提示缺少返回语句,

public static boolean has3(int[] a) {
  for(int i=0; i<a.length; ++i) {
    if (a[i]==3)
      return true;
    else
      return false;
  }
}

稍稍改动一下即可:

import java.util.*;
import java.io.*;

public class has {
  public static void main(String[] args) {
    int[] b = {1,2,3,4,5};
    int[] c = {1,2,4,5};
    System.out.println(has3(b));
    System.out.println(has3(c));
  }
  
  public static boolean has3(int[] a) {
    for(int i=0; i<a.length; ++i) {
      if (a[i]==3)
        return true;
      }
    return false;
  }
}

上一篇:Maven+oracle+SSM搭建简单项目的方法

栏    目:JAVA代码

下一篇:Java贪吃蛇游戏完善版

本文标题:Java提示缺少返回语句的解决办法

本文地址:http://www.codeinn.net/misctech/21643.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有