该封装类在Javase—数组高阶习题中有所应用
/**
* 利用方法对数组进行各种操作
*/
package com.arrayAdd;
import java.util.Arrays;
import java.util.Random;
public class Cal {
// 加法
public int plus(int a,int b) {
return a+b;
}
// 减法
public int minus(int a,int b) {
return a-b;
}
// 乘法
public int mutiply(int a,int b) {
return a*b;
}
// 除法
public double devide(int a,int b) {
return (double)a/b;
}
// 累加
public int accumulation(int[] a) {
int sum=0;
for(int i:a) {
sum+=i;
}
return sum;
}
// 阶乘
public int factorial(int n) {
int sum=1;
for(int i=1;i<=n;i++) {
sum*=i;
}
return sum;
}
// 平方
public int square(int a) {
return a*a;
}
// a的n次方
public int power(int a,int n) {
int temp=a;
if(n==0) {
return 1;
}else if(n==1) {
return a;
}
if(a>0 && n>1) {
for(int i=2;i<=n;i++) {
a*=temp;
}
return a;
}
return -1;
}
// 判断是否为素数 boolean(int)
public boolean isPrime(int number) {
if(number<2) {
return false;
}
for(int i=2;i<number;i++) {
if(number%i==0) {
return false;
}
}
return true;
}
// 冒泡排序
public int[] sort(int[] a) {
for(int i=0;i<a.length-1;i++){
for(int j=0;j<a.length-i-1;j++) {
if(a[j]>a[j+1]) {
int temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
return a;
}
// 插入
public int[] insert(int element,int location,int[] array) {
System.out.println(Arrays.toString(array));
int[] a=new int[array.length+1];
// 插入的位置在前5个,则需要将插入位置之后的元素依次向后一位;后五个直接赋值
for(int i=a.length-1;i>=location-1;i--) {
a[i+1]=array[i];
}
a[location-1]=element;
return a;
}
// 删除
public static int[] delete(int location,int[] array) {
System.out.println(Arrays.toString(array));
int[] a=new int[array.length-1];
for(int i=0;i<location-1;i++) {
a[i]=array[i];
}
for(int i=location;i<array.length;i++) {
a[i-1]=array[i];
}
// System.out.println(Arrays.toString(a));
return a;
}
// 随机生成一个数组a,数组元素的范围是0~n-1
public static int[] RandomArray(int[] a,int n) {
Random r=new Random();
for(int i=0;i<a.length;i++) {
a[i]=r.nextInt(n);
}
return a;
}
}