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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 我要当大牛 中级黑马   /  2015-6-23 22:01  /  633 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

        练习:获取三个数中的最大数,并打印

        使用函数.
        1:是否有返回值:有  int类型的
        2:是否有未知内容参与运算: 有 三个
class MaxDemo
{
        public static void main(String[] args)
        {
                int x = getMax(10,20,30);
                System.out.println(x);
        }
        public static int getMax(int a , int b , int c)
        {
                //获取三个数的最大数,选用if判断结构
                if (a > b)
                {
                        if (a > c)
                        {
                                return a;
                        }
                        else
                        {
                                return c;
                        }       
                }
                else
                {
                        if (b > c)
                        {
                                return b;
                        }
                        else
                        {
                                return c;       
                        }
                }
        }
}



这个程序有什么问题?为何编译通过,运行不出来结果

8 个回复

倒序浏览
a > b ? (a > c ? a : c ) : (b > c ? b : c)
回复 使用道具 举报
我这边用eclipse编译能通过,运行能得出正确答案
回复 使用道具 举报
本帖最后由 开门你的快递 于 2015-6-23 23:32 编辑

class MaxDemo
{
        public static void main(String[] args)
        {
                int x = getMax(10,20,30);
                System.out.println(x);
        }
        public static int getMax(int a , int b , int c)//还可以这样,简化一些
        {
                if (a<b)                                                                          a=b;
                if  (a<c)
                         a=c;
                return a;
}


回复 使用道具 举报
比较  直接用for  嵌套多好.
回复 使用道具 举报

class Max
{
        public static void main(String[] args)
        {
                int x = GatMax(66,2,3);
               
                System.out.println("三个数最大的数是:"+ x);
        }
        public static int GatMax(int a ,int b,int c )
        {
                return a>b ?(a>c?a:c):(b>c?b:c);
       
        }
}
回复 使用道具 举报
本帖最后由 jx5785749 于 2015-6-24 00:16 编辑

代码应该是这样的!我是根据你的思路写的,简化的没写!你在if里应该在嵌套个if判断那个大的数和另一个数的比较判断!
class MaxDemo
{
        public static void main(String[] args)
        {
                int x=getMax(10,20,30);
                System.out.println(x);
        }
        //定义一个功能用来获取3个数最大的数!
        /*
                思路:
                1)判断该方法是获取一个Int类型的值
                2)有未知数参与运算,3个Int类型的参数
        */
        public static int getMax(int a,int b,int c)
        {
                if(a>b)
                {
                        if(a>c)
                        {
                                return a;
                        }
                        else
                        {
                                return c;
                        }

                }else
                {
                        if(b>c)
                        {
                                return b;
                        }
                        else
                        {
                                return c;
                        }
                }
        }

}
回复 使用道具 举报
经过我的研究发现:    1  ;  你的前几行思路什么的  没有注释吧!
回复 使用道具 举报
符慢慢 发表于 2015-6-24 00:16
经过我的研究发现:    1  ;  你的前几行思路什么的  没有注释吧!

- -我是类名和文件名写的不一样,用editplus快捷键变异的--
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马