首页 > 代码库 > 最大值、最小值、平均值、和、数组反转、数组排序

最大值、最小值、平均值、和、数组反转、数组排序

import java.util.Arrays;
import java.util.Scanner;
public class ArrayUtils {
    //获取数组的最大值
    public static void main(String[] args) {
//        int[] arr=new int[]{12,4,76,-9,0,44,-87,66};
        int num;
        Scanner s;
        
        while(true){
           try{
               System.out.println("请输入数组元素个数:");
               s=new Scanner(System.in);           
               num=s.nextInt();
               break;
           }catch(Exception e)
           {
               System.out.println("输入错误,请重新输入!!");
           }
        }
        
        
        int[] arr=new int[num]; 
        System.out.println("请输入"+num+"个数组元素");
        for(int i=0;i<num;i++){
            arr[i]=s.nextInt();
        }
        s.close();
        Array a1=new Array();
        Array.getMaxValue(arr);//最大值
        a1.getMinValue(arr);//最小值
        a1.getAvg(arr);//平均值
        a1.getSum(arr);//求和
        System.out.print("数组反转方法一:");
        System.out.println();
        a1.fanZhuan(arr);//数组反转
        System.out.println();
        System.out.print("数组反转方法二:");
        System.out.println();
        a1.fanZhuanShuZu(arr);        
        System.out.println();
        System.out.print("快速排序:");
        System.out.println();
        a1.sort(arr);//数组升序排序
        System.out.println();
        System.out.print("冒泡排序--升序:");
        System.out.println();
        a1.maoPao(arr);//冒泡排序
        System.out.println();
        System.out.print("排序方法二--升序:");
        System.out.println();
        a1.paiXu(arr);
        System.out.println();
        System.out.print("排序方法三--降序:");
        System.out.println();
        a1.paiSort(arr);
    }

}
class Array{
    //获取最大值
    public static void getMaxValue(int[] arr){
        int maxValue = arr[0];
        for(int i = 1;i < arr.length;i++){
            if(maxValue < arr[i]){
                maxValue = arr[i];
            }
        }
        System.out.println("最大值为:" + maxValue);
        
    }
    //获取最小值
    public void getMinValue(int[] arr){
        int minValue = arr[0];
        for(int i = 1;i < arr.length;i++){
            if(minValue > arr[i]){
                minValue = arr[i];
            }
        }
        System.out.println("最小值为:" + minValue);
    }
    //获取平均值
    public void getAvg(int[] arr){
        double avg = 0.0;
//        int sum1 = 0;
//        for(int i = 0;i < arr.length;i++){
//            sum1 += arr[i];
//        }
//        avg = (double)sum1 / arr.length;
        avg =(double) getSum(arr) / arr.length;
        System.out.println("平均值为:" + avg);

    }
    //求和运算
    public int  getSum(int[] arr){
        int sum = 0;
        for(int i = 0;i < arr.length;i++){
            sum += arr[i];
        }
        System.out.println("总和为:" + sum);
        return sum;
    }
    //数组元素的反转方法一
    public void fanZhuan(int[] arr){
        for(int x=0,y=arr.length-1;x<y;x++,y--){
            int temp=arr[x];
            arr[x]=arr[y];
            arr[y]=temp;
        }
        System.out.print("{");
        for(int i = 0;i < arr.length;i++){
            if(i == arr.length - 1){
                System.out.print(arr[i] + "}");
                break;
            }
            System.out.print(arr[i] + ",");
        }
    }    
    //数组反转方法二
    public void fanZhuanShuZu(int[] arr){
        for(int i=0;i<arr.length/2;i++){
            int temp=arr[i];
            arr[i]=arr[arr.length-1-i];
            arr[arr.length-1-i]=temp;
        }
        System.out.print("{");
        for(int i = 0;i < arr.length;i++){
            if(i == arr.length - 1){
                System.out.print(arr[i] + "}");
                break;
            }
            System.out.print(arr[i] + ",");
        }
    }
    //数组生序排列
    public void sort(int[] arr){
        Arrays.sort(arr);
        System.out.print("{");
        for(int i = 0;i < arr.length;i++){
            if(i == arr.length - 1){
                System.out.print(arr[i] + "}");
                break;
            }
            System.out.print(arr[i] + ",");
        }
    }
    //冒泡排序
    public void maoPao(int[] arr){
        for(int i=0;i<arr.length;i++){
            for(int j=i;j<arr.length;j++){
                if(arr[i]>arr[j]){
                    int temp=arr[i];
                    arr[i]=arr[j];
                    arr[j]=temp;
                    
                }
            }
        }
        System.out.print("{");
        for(int i = 0;i < arr.length;i++){
            if(i == arr.length - 1){
                System.out.print(arr[i] + "}");
                break;
            }
            System.out.print(arr[i] + ",");
        }
    }
    //排序方法二
    public void paiXu(int[] arr){
        for(int i = 0;i <arr.length - 1 ;i++){
            for(int j = 0;j < arr.length - 1 - i;j++){
                if(arr[j] > arr[j + 1]){
                    int temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
            
        }
        System.out.print("{");
        for(int i = 0;i < arr.length;i++){
            if(i == arr.length - 1){
                System.out.print(arr[i] + "}");
                break;
            }
            System.out.print(arr[i] + ",");
        }
    }
    //排序方法三
    public void paiSort(int[] arr){
        for(int i=0;i<arr.length;i++){
            for(int j=0;j<arr.length;j++){
                if(arr[i]>arr[j]){
                    int temp=arr[i];
                    arr[i]=arr[j];
                    arr[j]=temp;
                    
                }
            }
        }
        System.out.print("{");
        for(int i = 0;i < arr.length;i++){
            if(i == arr.length - 1){
                System.out.print(arr[i] + "}");
                break;
            }
            System.out.print(arr[i] + ",");
        }
    }
}


本文出自 “第一天的课” 博客,请务必保留此出处http://5453607.blog.51cto.com/5443607/1532530