这个程序在编译的时候,为什么会有这样的报错信息? 这是报错信息L:\Java相关\JAVA练习\ListCreat.java:57: missing return statement public int findFreeNode(){ ^1 error 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我把 findFreeNode()方法改成如下的写法后就编译无错误了public int findFreeNode(){ int i; for(i=0;i<MaxLength;i++) if(Next[i]==-2) break; return i; } findFreeNode方法的这两种写法难道不是等效的吗?有什么区别吗? ListCreat.java:67: missing return statement缺少return语句。public int findFreeNode(){ int i; for(i=0;i<MaxLength;i++) if(Next[i]==-2) return i; return 0; } 此方法需要有个返回值而原代码中有两种情况下将不会有返回值1、maxlength<=02、Next[i]都不能于-2所以需要在加一return语句,编译可通过,至于具体返回什么值要看程序需求了。 1) 我的这个程序在前面已经有int MaxLength=20;这个初始化了,所以不可能出现MaxLength<=0的情况吧2)Node(){ int i; for(i=0;i<MaxLength;i++){ Next[i]= -2; } }这个构造方法中也已经初始化Next[i]的初始值为-2了,不会出现Next[i]都不等于-2的情况吧 谢谢febchen!!!!你的回答让我有了不小的进步! 转成16进制,在线等 这个正则表达式怎么写? at java.lang.ClassLoader.defineClass1(Native Method) bean标签问题 Synchronized 如何更好的应用? 初入IT职场,我该怎么学? 一道面试题 eclipse的配置问题,急等! int ic=new String("a").getBytes().length; 为什么得1,java不是unicode的吗,应该得2吧? 各位大侠帮忙看看我的jni的这个异常是怎么回事。 线程同步问题 请教,怎么避免MalformedInputException?
public int findFreeNode(){
int i;
for(i=0;i<MaxLength;i++)
if(Next[i]==-2)
break;
return i;
}
findFreeNode方法的这两种写法难道不是等效的吗?有什么区别吗?
public int findFreeNode(){
int i;
for(i=0;i<MaxLength;i++)
if(Next[i]==-2)
return i;
return 0;
} 此方法需要有个返回值
而原代码中
有两种情况下将不会有返回值
1、maxlength<=0
2、Next[i]都不能于-2
所以需要在加一return语句,编译可通过,至于具体返回什么值要看程序需求了。
int MaxLength=20;
这个初始化了,所以不可能出现MaxLength<=0的情况吧2)Node(){
int i;
for(i=0;i<MaxLength;i++){
Next[i]= -2;
}
}
这个构造方法中也已经初始化Next[i]的初始值为-2了,不会出现Next[i]都不等于-2的情况吧
你的回答让我有了不小的进步!