黑马程序员技术交流社区
标题:
最基础的,函数问题
[打印本页]
作者:
曾林魁
时间:
2013-7-29 12:17
标题:
最基础的,函数问题
本帖最后由 曾林魁 于 2013-7-30 09:27 编辑
为什么编辑不通过
class FunctionDemo
{
public static void main(String[] args)
{
getLevel(90);
}
public static char getLevel(int num)
{
char level;
if(num>=90&&num<=100)
level='A';
else if(num>=80&&num<=89)
level='B';
else if(num>=70&&num<=79)
level='C';
else if(num>=60&&num<=69)
level='D';
else if(num<60||num>100)
level='E';
return level;
}
}
作者:
王磊
时间:
2013-7-29 12:28
因为char level没有进行初始化。编译器逐行编译,它不会自动的进行逻辑判断,所以当判断到return level的时候,发现level没有初始化,编译就不会通过。
你可以定义成char level = 0;
作者:
denghui1010
时间:
2013-7-29 12:32
你需要给level一个初始值,因为你一顿if下来,可能不满足任何条件,也就是说level可能不会被赋值,那么就return不了了,就出错啦
作者:
hanrongle
时间:
2013-7-29 12:38
java中需要先给一个变量分配空间,你的变量level没有赋初始值的就没有分配空间,所以程序是不能运行的。
作者:
柏圣杰
时间:
2013-7-29 22:35
getLevel函数运行结束,level的值可能为空,与返回类型不匹配
作者:
王希军
时间:
2013-7-29 23:51
哎···· 来晚了
作者:
黑马王晓明
时间:
2013-7-30 00:59
java中规定局部变量在定义了以后必须为其赋初始化值 否则是不能使用的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2