public class ArrayTool {
//构造方法私有化,因为都是静态方法,不需要建立对象
private ArrayTool(){};
/**
* 该方法作用是 给定一个int[]数组和最大取值范围, 将每个元素填充上随机数返回给用户
* @param arr 给定的数组arr
* @param max 给定的最大取值范围 int整数
* @return int[] 返回填充后的数组
*/
public static int[] fill (int[] arr,int max){
Random random = new Random();
for (int i = 0; i < arr.length; i++) {
arr[i] = random.nextInt(max);
}
return arr;
}
/**
* 该方法作用是 给定一个int[][]数组和最大取值范围, 将每个元素填充上随机数返回给用户
* @param arr[] 给定的数组arr
* @param max 给定的最大取值范围 int整数
* @return int[][] 返回填充后的数组
*/
public static int[][] fill (int[][] arr,int max){
Random random = new Random();
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
arr[i][j] = random.nextInt(max);
}
}
return arr;
}
/**
* 将给定的二维数组打印
* @param arr[][] 给定的二维数组
*/
public static void printArr2(int[][] arr){
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
if(j!= arr[i].length-1){
System.out.print("arr+["+i+"]"+"["+j+"]="+arr[i][j]+"\t");
}else{
System.out.print("arr+["+i+"]"+"["+j+"]="+arr[i][j]+"\n");
}
}
}
}
/**
* 删除数组中的某一元素,不改变原来的数组顺序
* @param arr 给定一个数组
* @param index 给定要删除的下标
* @return int[] arr 返回删除后的数组
*/
public static int[] deleteKey(int[] arr,int index){
for (int i = arr.length-1; i>index; i--) {
for(int j = arr.length-1; j>index;j--){
swap(arr,j,j-1);
}
}
arr = Arrays.copyOf(arr, arr.length-1);
return arr;
}
/**
* 将给定数组反转
* @param int[] arr 给定的数组
* @return int[] arr 反转的数组
*/
public static int[] reverse(int[] arr){
for (int start = 0,end = arr.length-1; start < end; start++,end--) {
swap(arr,start,end);
}
return arr;
}
/**
* 替给定数组赋值N个数值,自定义输入数值
* @param int[] arr 给定数组
* @param amount 元素个数
* @return int[] arr 赋值完毕的数组
*/
public static int[] assign(int[] arr,int amount){
Scanner scan = new Scanner(System.in);
arr = new int[amount];
for (int i = 0; i < arr.length; i++) {
System.out.println("请输入第"+(i+1)+"个数值");
arr[i] = scan.nextInt();
}
scan.close();
return arr;
}
/**
* 交换数组中两个元素的方法
* @param arr
* @param a
* @param b
*/
private static void swap(int[] arr,int a,int b){
int temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;
}
}