標籤:最大值、最小值、平均值、和、數組反轉、數組排序
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