返回者 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;
}

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也行

}