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
最大值、最小值、平均值、和、数组反转、数组排序,布布扣,bubuko.com
原文地址:http://5453607.blog.51cto.com/5443607/1532530