A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 青皮核桃 中级黑马   /  2015-6-26 21:58  /  718 人查看  /  19 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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;
        }
}

19 个回复

倒序浏览
max是个局部变量,定义时是要赋初值的,就用你的三元运算很好啊
回复 使用道具 举报
max是局部变量,需要初始值的,给max赋一个初始值,把a或b赋给它
回复 使用道具 举报
方法内max是局部变量 需要初始化赋值
回复 使用道具 举报
max是个局部变量,定义时是要赋初值的。  你这样
else{
                         System.out.println("两数不能相等");
return   -1;
                 }
因为你没赋值,所以运算完必须有值。
回复 使用道具 举报
楼上正解
回复 使用道具 举报
楼上的大神们给出答案啦
回复 使用道具 举报
局部变量需要初始化,保证变量在使用之前已经初始化成功就可以了.
else下max没有被赋值, 虚拟机会报错
回复 使用道具 举报
易阳 中级黑马 2015-6-26 23:22:51
9#
楼上正解
回复 使用道具 举报
局部变量需要初始化,保证变量在使用之前已经初始化成功就可以了
回复 使用道具 举报
定义变量格式是,数据类型 变量名称 = 初始化值,你的max没有初始化值,.有一种情况可以定义 不用初始化,但是在变量下面的代码中必须确定,这个变量可以被赋确切的值
回复 使用道具 举报
。。。。。
回复 使用道具 举报
楼上的都是大神
回复 使用道具 举报
你的max是局部变量所以必须附初始化值,如果是成员变量就不用了,建议你去看一下局部变量和成员变量的区别
回复 使用道具 举报
大神好多。哈哈哈
回复 使用道具 举报
有艺术的刺客 来自手机 中级黑马 2015-6-27 13:17:51
16#
确实是max没有初始化,哈哈,赞一个
回复 使用道具 举报
进军黑马 发表于 2015-6-26 22:29
max是个局部变量,定义时是要赋初值的。  你这样
else{
                         System.out.println("两 ...

对对,这样就行了,谢了{:3_53:}
回复 使用道具 举报
你都没有给Max初始化变量是零
回复 使用道具 举报
局部变量和成员变量有区别,局部变量要赋初值。
回复 使用道具 举报
大家都解释的好清楚  学习了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马