java返回多参数方法与方法的多参数传递

原创 2016年08月31日 11:30:35

1 java返回多参数方法

      在编写程序时经常遇到从一个方法中返回多个有用信息的情况。例如查找一个数组中最大值与最小值,一般的做法是通过一个for循环,两个if判断找出最值。但是在找到有用信息后需要通过函数返回的方式获取有用信息。当然我们可以通过全局变量解决这个问题,然而在C编程里面我们最好减少全局变量的使用,在这里介绍一种用java返回对象的同时返回多个字段信息。

public void getMaxMin(int[] array)
{
    int minVal=0;
    int maxVal=0;
    for(int i=0;i<array.length;i++)
    {
        if(array[i]<minVal)
        {
            minVal=array[i];
        }
        if(array[i]>maxVal)
        {
            maxVal=array[i];
        }
    }
}

      以上是常见的获取数组最值的方式。但是却不能一次返回最大值最小值。但是采用返回对象的方式效果却大不同。看下面代码段:

class MaxMinGet
{
    private int min=0;
    public int getMin() {
        return min;
    }
    public void setMin(int min) {
        this.min = min;
    }
    public int getMax() {
        return max;
    }
    public void setMax(int max) {
        this.max = max;
    }
    private int max=0;
    public MaxMinGet(int min, int max)
    {
        this.min = min;
        this.max = max;
    }
    public static MaxMinGet paraGet(int[] arr)
    {
        int minVal=0;
        int maxVal=0;
        for(int i=0;i<arr.length;i++)
        {
            if(arr[i]<minVal) minVal=arr[i];
            if(arr[i]>maxVal) maxVal=arr[i];

        }
        return new MaxMinGet(minVal, maxVal);
    }


}

       将最值作为对象构造方法的参数创建对象,之后可以通过获取器就可以分别获得最大值与最小值。下面是测试代码:

int[] arr={1,2,3,4,5,6,7,8,9};
        System.out.println(MaxMinGet.paraGet(arr).getMax());
        System.out.println(MaxMinGet.paraGet(arr).getMin());

2 方法多参数传递

      在标准输入输出库中有输出sprintf函数,参数是可变。可以根据实际需要传递不同参数。当然在java里面多态可以解决这个功能。这里介绍一种多参数传递的方法。

      实例:若要从用户提供的序列数据中提取最大值。前提是不知道用户提供的数据量有多大,且不用集合进行处理。

class ChangeParameter
{
    public double max(double...values)
    {
        double largest=Double.MIN_VALUE;
        for(double v:values)
        {
            if(v>largest)
            {
                largest=v;
            }
        }
        return largest;
    }
}

      public double max(double…values)这个方法可以实现对不定项长度double数据进行处理。下面是测试结果:

ChangeParameter c=new ChangeParameter();
double max=c.max(1.2,3.4,5.6,8.7);
System.out.println("这些数字中最大的是"+max);

      输出是8.7。总之在方法中使用不定参数时能够比较灵活处理由数据的不确定性带来的问题,也比较实用。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

iOS中performSelector+@selector多参数传递解决方法

关于performSelector传递参数一般不能超过2个,但是现实开发中我们有时需要用到传递大于2以上的参数,这个时候performSelector就不能满足要求了。所以这里总结了开发中解决的办法,...
  • zzrs123
  • zzrs123
  • 2016年09月27日 10:26
  • 2374

java jquery 函数多参数传递

业务需求: 名次   伙伴 业绩 签单 面谈 每日目标 1 文彬 5100 6 10 查看目标 2 马红月 4550 ...

java规范(一)------方法设计---返回多参数的方法怎么封装

假如我们有2个变量count和content需要经过一个方法里改变它的值我们可以用下面的方法:main{ int count=0; String content=“”; changeValue(cou...

PB窗口之间传递多参数的方法

在PowerBuilder中函数OpenWithParm,CloseWithReturn,OpenSheetWithParm,windowname.OpenUserObjectWithParm   ...

利用NSInvocation给NSObject添加一个分类方法,解决传递多参数问题

NSObject类自带的调用消息方式,只能满足参数小于等于2的情况,当参数大于2时并不适用,所以通过NSInvocation给NSObject添加一个分类方法performSelector:withO...

一个SpringMVC下的多参数传递注解

/** * 跳转到频道页面 * @return */ @RequestMapping("channel/{id}/{modules}") public M...

MyBatis多参数传递

原文:http://www.cnblogs.com/mingyue1818/p/3714162.html?utm_source=tuicool&utm_medium=referral 文章写的面面俱...
  • cktmyh
  • cktmyh
  • 2015年11月23日 16:54
  • 190

【Mybatis】多参数传递

mybatis多参数查询使用方法。

Linux 多线程编程中的多参数传递

例子详细解析: 一. pthread_create()与pthread_join()函数 1 #include 2 int pthread_join(pthread_t thread, 3 ...

Mybatis多参数传递三种解决方案

在Mybatis中定义mapper信息有两种方式:1·利用xml文件写一个对应的包含mapper信息的配置文件;2·定义一个mapper接口和一些相应的操作方法。        我使用的是第二种方法...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java返回多参数方法与方法的多参数传递
举报原因:
原因补充:

(最多只允许输入30个字)