返回者 java中 为提示这样会有错误,在c++中没有错误,例子如下
来源:百度知道 编辑:UC知道 时间:2024/05/25 12:48:50
public static int fun(int a){
if(a==1)
return 1;
if(a==2)
return 2;
}
if(a==1)
return 1;
if(a==2)
return 2;
}
java里面不能这样return
要初始化
这样改:
public static int fun(int a){
int b = 0;
if(a==1)
b = 1;
if(a==2)
b = 2;
return b;
}
这样就可以啦
要是a既不等于1又不等于2返回什么?
c++也会有警告的吧,就像1楼说的那样,你这么写不一定有返回值的,再加句 else return 1;或者 直接加return 1;就可以了
原因是:该方法必须要返回一个int值,但是楼主的这段代码,程序有可能不进入任何一个分支,比如a=3的时候。这是,java找不到一个返回值,所以报错。所以只要加一个返回值即可,比如:
public static int fun(int a) {
if(a==1)
return 1;
if(a==2)
return 2;
return 0; //如果a极不等于1也不等于2,前面两个if都不进入,那么返回0
//或者在任意一个if上加一个else也行
}