java返回多参数方法与方法的多参数传递
来源:互联网 发布:9月编程语言排行榜 编辑:程序博客网 时间:2024/06/03 21:49
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。总之在方法中使用不定参数时能够比较灵活处理由数据的不确定性带来的问题,也比较实用。
0 0
- java返回多参数方法与方法的多参数传递
- java 方法的参数传递
- Java方法的参数传递
- Java--方法参数的传递
- Java方法的参数传递
- Java方法的参数传递
- JAVA的方法参数传递
- java方法参数的传递
- java方法参数传递
- Java方法参数传递
- Java 方法参数传递
- Java方法参数传递
- Java方法参数传递
- java方法参数传递
- Activity 之间传递参数和返回参数的方法
- ibatis传递多参数的方法
- MyBatis传递多个参数的方法
- MyBatis传递多个参数的方法
- FreeMarker指南
- maven+spring+springmvc+mybatis
- 配置tomcat自动加载改变的class文件(无需重启tomcat)
- 基于qualcomm平台的kinect教程一之windows配置篇
- 欢迎使用CSDN-markdown编辑器
- java返回多参数方法与方法的多参数传递
- TeamLab安装及使用
- 点云匹配和ICP算法概述
- C# 重构之三(封装字段重构)
- Callable与Runnable的区别及其在JDK源码中的应用
- Eigen初学相关介绍
- Android学习资料整理
- 异常处理(008)_java中常见的错误有哪些
- MySQL主从同步配置容易出现的问题以及解决方法