Java基础---数组练习(最大值、最小值的索引)

Java基础–数组练习

1、将一维数组的遍历,封装成方法
    public static void arrayBianli(int[] arr) {
        for(int i = 0;i<arr.length;i++) {
             System.out.print(arr[i]+" ");
        }       
    } 

2、将一维数组的求最大值,封装成方法
    public static void getMax(int[] arr) {
        int max = arr[0];
        for(int i = 0;i<arr.length;i++) {
            if(arr[i]>max) {
                max = arr[i];
            }
        }  
         System.out.print(max);
    } 

3、将一维数组的反转,封装成方法
	 public static void arrayReserve(int[] arr) {
        int temp;
    	for(int i = 0,j=arr.length-1;i<j;i++,j--) {
            temp = arr[i];
            arr[i] = arr[j];
            arr[j] = temp;
        }  
    } 

4、分析以下需求,并用代码实现:
	(1)定义一个int类型的一维数组,内容为{6,2,9,15,1,5,20,7,18}
	(2)将数组最大元素与最后一位元素进行交换,最小元素与第一位元素进行交换,并打印数组
	提示思路:先查找最大值和最小值出现的索引。
package com.DaYu;

public class HomeWork03 {
	public static void main(String[] args) {
		//定义数组
        int[] arr = {6,2,9,15,1,5,20,7,18};
		//最大元素与最后一位元素进行交换
		int maxIndex = getMaxIndex(arr);
		exChange(arr,arr.length-1,maxIndex);
		//最小元素与第一位元素进行交换
		int minIndex = getMinIndex(arr);
		exChange(arr,0,minIndex);
		//数组遍历打印
		for (int i = 0; i < arr.length; i++) {
			System.out.print(arr[i]+" ");
		}
     }
	
	//获取最大值下标
	public static int getMaxIndex(int[] arr) {
		int maxIndex = 0;
		for (int i = 0; i < arr.length-1; i++) {
			if(arr[maxIndex]<arr[i+1]) {
				maxIndex = i+1;
			}
		}
		return maxIndex;
	}
    
	//获取最小值下标
	public static int getMinIndex(int[] arr) {
		int minIndex = 0;
		for (int i = 0; i < arr.length-1; i++) {
			if(arr[minIndex]>arr[i+1]) {
				minIndex = i+1;
			}
		}
		return minIndex;
	}	
    
	//两元素交换
	public static void exChange(int[] arr,int m,int n) {
		int temp;
		temp =arr[m];
		arr[m] =arr[n];
		arr[n] = temp;
	}
}
	

猜你喜欢

转载自blog.csdn.net/qq_41401295/article/details/106202230