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] + ",");
}
}
}
转载于:https://blog.51cto.com/5453607/1532530