public class MyArray {
public static void main(String[] args) {
MyArray myArr = new MyArray();
int [] arr1=new int[]{1,2,3,4,5,6,4,-1};
System.out.println("最大值,max = "+myArr.maxArr(arr1));
System.out.println("最小值,min = "+myArr.minArr(arr1));
System.out.println("数组的和,sum = "+myArr.sumArr(arr1));
System.out.println("数组的平均值,avg = "+myArr.avgArr(arr1));
//数组打印
myArr.printArr(arr1);
//数组复制
myArr.printArr(myArr.arrCopy(arr1));
//数组排序
myArr.printArr(myArr.arrSort(arr1));
//数组反转
myArr.printArr(myArr.arrReverse(arr1));
//数组的线性查找
//System.out.println("元素线性查找==== "+myArr.lineSearch(arr1,4));
System.out.println(myArr.lineSearch(arr1,4));
System.out.println(myArr.lineSearch(arr1,8));
}
/**
*返回数组最大值
* @param arr 传入指定的数组
* @return max 最大值
*/
public int maxArr(int[] arr){
int max=arr[0];
for(int i=0;i<arr.length-1;i++){
if(arr[i+1]>max){
max=arr[i+1];
}
}
return max;
}
/**
*返回数组最小值
* @param arr 传入指定的数组
* @return min 最小值
*/
public int minArr(int[] arr){
int min=arr[0];
for(int i=0;i<arr.length-1;i++){
if(arr[i+1]< min){
min=arr[i+1];
}
}
return min;
}
/**
*返回数组的元素和
* @param arr 传入指定的数组
* @return sum 数字元素的和
*/
public int sumArr(int[] arr){
int sum=0;
for(int i=0;i<arr.length;i++){
sum += arr[i];
}
return sum;
}
/**
*数组元素平均值计算
* @param arr 数组平均值
* @return 数字的平均值
*/
public double avgArr(int[] arr){
double avg = (double) (sumArr(arr)/arr.length) ;
return avg;
}
/**
* 数组打印
* @param arr 传入指定的数组
*/
public void printArr(int[] arr){
System.out.print("打印数组:[");
for(int i=0;i<arr.length;i++){
if (arr[0]==arr[i])System.out.print(arr[i]);
else System.out.print(","+arr[i]);
}
System.out.print("]\n");
}
/**
*数组排序
* @param arr 传入指定的数组
*/
public int[] arrSort(int[] arr){
if(arr.length < 2 || arr == null) {
return arr;
}else {
for (int i = 0; i < arr.length-1; i++) {
boolean flag = true;
for (int j = 0; j < arr.length - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
flag = false;
}
}
if (flag) break;
}
}
System.out.print("排序后");
return arr;
}
/**
*数组反转
* @param arr 传入指定的数组
*/
public int[] arrReverse(int [] arr){
for(int i=0,j=arr.length-1;i<j;i++,j--){
int temp =arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
System.out.print("反转后");
return arr;
}
/**
*数组复制
* @param arr 传入指定的数组
*/
public int[] arrCopy(int [] arr){
int [] newArr= new int[arr.length];
for(int i=0;i<arr.length;i++){
newArr[i]=arr[i];
}
System.out.print("复制后");
return newArr;
}
/**
* 数组线性查找
* @param arr 传入指定的数组
* @param target 查找值
* @return
*/
public String lineSearch(int [] arr,int target){
String s="";
for(int i=0;i<arr.length;i++){
if(target == arr[i]){
s = s+" "+i;
}
}
if(s == null || s.equals("")){
System.out.print("未找到元素!!!");
}else {
System.out.print("找到元素,index为:");
}
return s;
}
}