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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yekong262 中级黑马   /  2014-1-20 21:24  /  1594 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 yekong262 于 2014-1-21 21:00 编辑
  1.         public static int compare(int a,int b,int c)
  2.         {        
  3.                         
  4.                 if (a>=b)
  5.                         int max = a;
  6.                 else
  7.                         int max=b;
  8.                 if (max>=c)
  9.                         int max=max;
  10.                 else        
  11.                         int max=c;
  12.                 return max;
  13. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

10 个回复

倒序浏览
没有return语句
回复 使用道具 举报
return语句在语句中虽然有效 但毕竟得有一个结果 要是读完语句而且语句都没有成立 就没有了return语句 所以必须要有默认的return语句

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

回复 使用道具 举报
黄晓鑫 发表于 2014-1-20 21:30
return语句在语句中虽然有效 但毕竟得有一个结果 要是读完语句而且语句都没有成立 就没有了return语句 所以 ...

能否给说下 怎么写呢??、
回复 使用道具 举报
      public static int compare(int a,int b,int c)
        {        
                        
                if (a>=b)
                        int max = a;
                else
                        int max=b;
                if (max>=c)
                        int max=max;
                else        
                        int max=c;
                return max;
return 0;
}
回复 使用道具 举报
很明显,你的变量都是定义在判断语句中,有效范围也是判断语句,你return max会报错,max找不到,应该这么写
                int max = 0;
                if (a>=b)
                        max = a;
                else
                        max=b;
                if (max>=c)
                        max=max;
                else        
                        max=c;
                return max;
回复 使用道具 举报
本帖最后由 yekong262 于 2014-1-20 22:26 编辑
黄晓鑫 发表于 2014-1-20 21:51
public static int compare(int a,int b,int c)
        {        
                        

int max = a;  -------FunctionRecover.java:47: 错误: 需要 '.class'  我知道哪里错了
回复 使用道具 举报
我怎么感觉是作用域的问题呢,在if中定义的变量,在最有return的时候可以用来返回么,他找的到么,我感觉应该先在全局定义一下max,然后用if来调用就没问题了吧
回复 使用道具 举报
哎,该怎么说呢,lz不妨试试这么改下:
  1. public static int compare(int a, int b, int c) {
  2.                 int max = 0;

  3.                 if (a >= b)
  4.                         max = a;
  5.                 else
  6.                         max = b;

  7.                 if (max < c)
  8.                         max = c;
  9.                
  10.                 return max;
  11.         }
复制代码



回复 使用道具 举报
黄晓鑫 发表于 2014-1-20 21:51
public static int compare(int a,int b,int c)
        {        
                        

感觉你在误人子弟呀呀呀呀!;P
回复 使用道具 举报
猎鹰tianya 发表于 2014-1-20 22:55
哎,该怎么说呢,lz不妨试试这么改下:

谢谢。  
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马