楼主提问的是两个问题,
1.怎么在一个for循环中实现既能够计算出最大值又能够计算出最小值
2.怎么在返回值中即把最大值返回也把最小值返回
这两个问题都是可以解决的,
问题1的解决思路,将数据[0]的值设为最初的最大值和最小值,然后循环,循环中发现比现在的最大值大,那么将新的最大值设置为循环中发现的值,如果新循环中发现比现在的最小值小,那么僵新的最小值设置为循环中发现的最小值,依次类推
问题2的解决思路,这个就是思维习惯的问题了,可以将返回结果设置为数组,[0],[1]分别为最大小值,或者使用集合,HashMap,最大值最小值进行映射,或者使用面向对象的思路,返回对象,封装这最大值和最小者的一个对象,思路多多.
我提供我的一个解决问题的案例吧.希望能够帮到你
- import java.util.HashMap;
- import java.util.Map;
- public class MaxAndMinTest {
- public static void main(String[] args) {
- int[] arr = {3,4,8,6};
- Map<String,Integer> numMap = calMaxAndMin(arr);
- System.out.println("max="+numMap.get("max"));
- System.out.println("min="+numMap.get("min"));
- }
- public static Map<String,Integer> calMaxAndMin(int[] arr){
- int max = arr[0];
- int min = arr[0];
- Map<String,Integer> numMap = new HashMap<String, Integer>();
- //一次for循环中,便可以同时计算出最大值和最小值
- for(int i=1;i<arr.length;i++){
- if(arr[i]>max){
- max = arr[i];
- }else if(arr[i]<min){
- min = arr[i];
- }
- }
- numMap.put("max", max);
- numMap.put("min", min);
- return numMap;
- }
- }
复制代码 |