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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李复安 中级黑马   /  2013-6-13 23:51  /  2331 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 李复安 于 2013-6-14 02:20 编辑

今天忽然想到一个问题,return语句的返回值只能有一个吗?

比如说:求一个int型数组中的最大值和最小值的问题,可以通过
定义一个求最大值的getMax函数,return max;    求出最大值;
再定义一个求最小值的getMin函数,return min;   求出最小值。

试问:可不可以定义一个求最大值和最小值的getMaxMin函数,return max,min;   这样的话只需要定义一个函数不用定义两个函数,多方便哪。
           试了试编译失败{:soso_e115:}

度娘说:
(1)返回值只有一个,但是可以通过定义一个类来作为返回类型,然后在类的定义中包含多个返回值作为类的成员。
这样可以达到同样的效果

(2)返回值只能有一个。但是返回的可以使任和的对象。所以你可以把你想要的多个值分装到一个javaBean中。
获取后直接返回这个javaBean。然后用get方法取出来就可以了
(3)只能有一个返回值。但是这个返回值可以是一个结构体或者是一个类,而结构体和类中可以容纳很多信息。
或者你也可以参考函数参数的方式来实现返回你所需要的信息,可以是多个。



请问大家以上三种说法说的对吗?或者还有别的法子吗?
谢谢大家回答、来张图片放松下。。。

QQ截图20130613234951.jpg (65.85 KB, 下载次数: 0)

QQ截图20130613234951.jpg

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

5 个回复

倒序浏览
先说一下前提,因为return的语句一旦执行,那么立马跳出函数当中
有一点是例外,就是在try,catch,finally当中,即使在catch语句中return了之后,finally中的语句也一定会执行
不知道这样子能不能满足楼主的要求,我的想法是取出最大值,和最小值,然后以字符串的形式返回.
  1. class  Test
  2. {
  3.         public static String getMax(int[] arr)
  4.         {
  5.                 //求最大值的
  6.                 int max = arr[0];
  7.                 for (int x=1;x<arr.length;x++)
  8.                 {
  9.                         if(arr[x]>max)
  10.                         {
  11.                                 max=arr[x];
  12.                         }
  13.                 }
  14.                 //求最小值的
  15.                 int min= arr[0];
  16.                 for (int x=1;x<arr.length ;x++ )
  17.                 {
  18.                         if(min>arr[x])
  19.                                 min=arr[x];
  20.                 }
  21.                 return max+","+min;
  22.         }
  23.         //主函数
  24.         public static void main(String[] args)
  25.         {
  26.                 int[] arr={3,4,5,7,88,6,44,5};
  27.                 String MaxMin = getMax(arr);
  28.                 System.out.println("最大值,最小值分别为"+MaxMin);
  29.         }
  30. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
许聪聪 发表于 2013-6-14 00:00
先说一下前提,因为return的语句一旦执行,那么立马跳出函数当中
有一点是例外,就是在try,catch,finally当中, ...

太好了,能满足要求,正是想要的答案。
多谢多谢、
回复 使用道具 举报
加油  楼主   
回复 使用道具 举报
许聪聪 发表于 2013-6-14 00:00
先说一下前提,因为return的语句一旦执行,那么立马跳出函数当中
有一点是例外,就是在try,catch,finally当中, ...

回答的不错
回复 使用道具 举报

一定一定,多谢青年团长大人、团长大人也努力哈,给我们个榜样
:lol
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马