黑马程序员技术交流社区

标题: 哪里错了 [打印本页]

作者: 青皮核桃    时间: 2015-6-26 21:58
标题: 哪里错了
public class FunctionDemo {
        public static void main(String[] args) {
                int i=getMax(6,5);
                System.out.println(i);
        }
        public static int getMax(int a,int b){
                //return a>b?a:b;
                int max;
                if(a>b){
                        max=a;
                }
                else if(a<b){
                        max=b;
                }
                else{
                        System.out.println("两数不能相等");;
                }
                return max;
        }
}
作者: lixiaoming    时间: 2015-6-26 22:08
max是个局部变量,定义时是要赋初值的,就用你的三元运算很好啊
作者: wuwenwen3779    时间: 2015-6-26 22:17
max是局部变量,需要初始值的,给max赋一个初始值,把a或b赋给它
作者: 贾森    时间: 2015-6-26 22:27
方法内max是局部变量 需要初始化赋值
作者: 进军黑马    时间: 2015-6-26 22:29
max是个局部变量,定义时是要赋初值的。  你这样
else{
                         System.out.println("两数不能相等");
return   -1;
                 }
因为你没赋值,所以运算完必须有值。
作者: zhao_HHH    时间: 2015-6-26 22:46
楼上正解
作者: wx_J25HxI5W    时间: 2015-6-26 23:10
楼上的大神们给出答案啦
作者: 牧师1990    时间: 2015-6-26 23:19
局部变量需要初始化,保证变量在使用之前已经初始化成功就可以了.
else下max没有被赋值, 虚拟机会报错
作者: 易阳    时间: 2015-6-26 23:22
楼上正解
作者: wenxueaaa555    时间: 2015-6-26 23:30
局部变量需要初始化,保证变量在使用之前已经初始化成功就可以了
作者: 小骆驼    时间: 2015-6-26 23:46
定义变量格式是,数据类型 变量名称 = 初始化值,你的max没有初始化值,.有一种情况可以定义 不用初始化,但是在变量下面的代码中必须确定,这个变量可以被赋确切的值
作者: fantianfei    时间: 2015-6-27 08:46
。。。。。
作者: 风随心动    时间: 2015-6-27 10:48
楼上的都是大神
作者: 八戒    时间: 2015-6-27 11:18
你的max是局部变量所以必须附初始化值,如果是成员变量就不用了,建议你去看一下局部变量和成员变量的区别
作者: 妳的微笑    时间: 2015-6-27 12:51
大神好多。哈哈哈
作者: 有艺术的刺客    时间: 2015-6-27 13:17
确实是max没有初始化,哈哈,赞一个
作者: 青皮核桃    时间: 2015-6-27 21:41
进军黑马 发表于 2015-6-26 22:29
max是个局部变量,定义时是要赋初值的。  你这样
else{
                         System.out.println("两 ...

对对,这样就行了,谢了{:3_53:}
作者: 走在这里    时间: 2015-6-27 21:54
你都没有给Max初始化变量是零
作者: Wait_For    时间: 2015-6-27 22:03
局部变量和成员变量有区别,局部变量要赋初值。
作者: limingdada    时间: 2015-6-27 22:04
大家都解释的好清楚  学习了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2