package secondwork; import java.util.Arrays; import org.junit.Test; public class ArrayUtil { public void reverseArray (int [] origin){ int le =origin.length; int []changedArray=Arrays.copyOf(origin, le); for (int i=0;i<le;i++) origin[le-i]=changedArray[i]; } public int []removeZero(int []oldArray){ int le=oldArray.length; for(int i=0;i<le;i++) if(oldArray[i]==0) le--; int []newArray=new int[le]; int count=0; for(int i=0;i<oldArray.length;i++){ if(oldArray[i]!=0){ newArray[count]=oldArray[i]; count++; } } return newArray; } public int []merge (int [] array1,int []array2){ int le=array1.length+array2.length; int [] mergedArray=new int[le]; for(int i=0;i<array1.length;i++) mergedArray[i]=array1[i]; int count =array1.length; for(int i=0;i<array2.length;i++) mergedArray[count++]=array2[i]; return mergedArray; } public int []grow(int []oldArray,int size){ int le=oldArray.length+size; int [] growedArray=new int[le]; for(int i=0;i<oldArray.length;i++){ growedArray[i]=oldArray[i]; } return growedArray; } public int []fibonacci(int max){ int []fibonacci; if(max==1) fibonacci=new int[0]; else{ int n1=1,n2=1,sn=0,count=2; do{ sn=n1+n2; n1=n2; n2=sn; count++; }while(sn<=max); fibonacci=new int [count]; fibonacci[0]=1; fibonacci[1]=1; for (int i=2;i<count;i++){ int m1=1,m2=1,sm=0; sm=m1+m2; m1=m2;m2=sm; fibonacci[i]=sm; } } return fibonacci; } public int [] getPrimes(int max){ int a=2,count=0,b=2; for(int i=1;i<max+1;i++){ if(isPrime(a++)){ count++; } } int []primes=new int [count]; for(int i=0;i<count;i++){ if(isPrime(b++)){ primes[i]=b; } } return primes; } private boolean isPrime(int a) { // TODO Auto-generated method stub boolean isPrime=true; for(int i=0;i<Math.sqrt(a);i++){ if(a%i==0) isPrime=false; } return isPrime; } public int []getPerfectNumbers(int max){ int a=1,count =0,b=1; for(int i=1;i<max+1;i++){ if(isPerfectNumber(a++)){ count++; } } int []getPerfectNumber=new int[count]; for(int i=1;i<count;i++){ if(isPerfectNumber(b++)){ getPerfectNumber[i]=b; } } return getPerfectNumber; } private boolean isPerfectNumber(int a) { // TODO Auto-generated method stub boolean perfectNumber=false; int count=0,sum=0; int [] sumOfFactor=new int[100]; for(int i=0;i<Math.sqrt(a);i++){ if(a%i==0) sumOfFactor[count++]=i; } for(int i=0;i<100;i++){ sum+=sumOfFactor[i]; } if(sum==a) perfectNumber=true; return perfectNumber; } public static String join(int []array,String sperator){ String output=""; for(int i=0;i<array.length;i++){ output+=array[i]; output+=sperator; } output=output.substring(0, array.length*2-1); return output; } }