I have an int array which has few leading zeros. I want to copy this array into another int array without leading zeros.
this is the code I wrote. but this code copies only non zero ints.
Original array:
int samples[]= {0, 0, 0, 0, 0, 40, 0, 2532, 17, -2300, -17, -4000, 0, 2000, 1048, -420, 33, 15, -32, 2030, 3223, 0, 0};
New array should be :
int noleadingzeroarray[] = {40,0,2532, 17, -2300, -17, -4000, 0, 2000, 1048, -420, 33, 15, -32, 2030, 3223, 0, 0};
Code:
public static void trimSilenceFromBeginning(){
int leadingZeros = 0;
int samples[]= {0, 0, 0, 0, 0, 40, 0, 2532, 17, -2300, -17, -4000, 0, 2000, 1048, -420, 33, 15, -32, 2030, 3223, 0, 0};
int noleadingzeroarray[]= new int[samples.length];
int zeroscounter= 0;
boolean nonzeroencountered = false;
if(samples[leadingZeros] == 0) {
leadingZeros++;
}
for(int j= 0; j< samples.length; j++){
if(samples[j]!=0 ) {
noleadingzeroarray[zeroscounter] = samples[j];
zeroscounter++;
}
}
System.out.println(Arrays.toString(noleadingzeroarray));
}
}