自定义数组的工具类
自定义数组的工具类
一、方法类
package day02;
/*
* 自定义数组的工具类
*
*/
public class Shuzu_gongjulei {
//求数组的最大值
/**
* 数组最大值
* @param arr
* @return
*/
public int getMax(int[] arr){
int maxValue = arr[0];
for(int i =1;i <arr.length;i++){
if(maxValue <arr[i]){
maxValue =arr[i];
}
}
return maxValue;
}
//求数组的最小值
/**
* 数组最小值
* @param arr
* @return
*/
public int getMin(int[] arr){
int minValue = arr[0];
for(int i =1;i <arr.length;i++){
if(minValue > arr[i]){
minValue =arr[i];
}
}
return minValue;
}
//求数组的总和
/**
* 数组的总和
* @param arr
* @return
*/
public int getSum(int[] arr){
int sum = 0;
for(int i = 0; i < arr.length; i++){
sum +=arr[i];
}
return sum;
}
//求数组的平均值
/**
* 求数组的平均值,两种方法
* @param arr
* @return
*/
public int getAvg(int[] arr){
//方法1
// int sum = 0;
// int avg;
// for(int i = 0; i < arr.length; i++){
// sum +=arr[i];
// }
// avg = sum/arr.length;
// return avg;
//方法2
return getSum(arr)/arr.length;
}
//翻转数组
/**
* 翻转数组
* @param arr
*/
public void reverse(int[] arr){
for(int i =0; i<arr.length/2; i++){
int temp = arr[i];
arr[i] = arr[arr.length -i -1];
arr[arr.length -i -1] = temp;
}
}
//复制数组
/**
* 复制数组
* @param arr
* @return
*/
public int[] copy(int[] arr){
int [] arr1 = new int[arr.length];
for(int i=0; i< arr1.length; i++){
arr1[i] = arr[i];
}
return arr1;
}
//数组排序
/**
* 数组排序,冒泡排序
* @param arr
*/
public void sort(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;
}
}
}
}
//遍历数组
/**
* 遍历数组
* @param arr
*/
public void print(int[] arr){
for (int i = 0; i <arr.length; i++){
System.out.println(arr[i] + "\t");
}
System.out.println();
}
//查找指定元素
/**
* 查找指定元素,线性查找
* @param arr 该数组
* @param dest 返回的地址或者-1
* @return
*/
public int getIndex(int[] arr,int dest){
//线性查找
for( int i = 0; i<arr.length; i++){
if(dest == arr[i]){
return i;
}
}
return -1;//返回-1,表示没有找到
}
}
二、测试类
package day02;
public class Shuzu_gongjulei_Test {
public static void main(String[] args) {
//创建对象
Shuzu_gongjulei util = new Shuzu_gongjulei();
//给局部变量arr数组复制
int[] arr = new int[] {32,45,76,123,787,4,32,-56,67};
//测试:
//数组的最大值:
int max = util.getMax(arr);
System.out.println("最大值为:" + max);
//数组中要查找的数:
int temp = util.getIndex(arr, -4);
if (temp > 0){
System.out.println("找到了,地址为:"+ arr);
}else{
System.out.println("未找到!!");
}
}
}