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


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




