When I print this code what I get on the terminal is {3,4,4,20}. I want to insert an index at a position and shift the array to the right.When I was shifting the elements in the array it dropped 10. How do I fix this so what prints on the terminal is {3,4,10,20}. Thanks!
public static void main(String[] args) {
practice obj = new practice(5);
obj.insert(3);
obj.insert(10);
obj.insert(20);
obj.insertShift(4,1);
obj.print();
public void insertShift(int index, int pos){
sum[counter++] = index;
for(int i=counter-1; i> pos; i--){
sum[i]= sum[i-1];
sum[pos]= index;
}
}
public class practice {
private int[] sum;
private int counter;
public practice(int counter) {
sum = new int[counter];
}
public void insert(int index) {
sum[counter] = index;
counter++;
if (counter == 0) {
int[] newArray = new int[counter * 2];
for (int i = 0; i < counter; i++) {
sum[i] = newArray[i];
}
// sum = newArray;
// System.out.println(counter);
}
}
public void insertAt(int index, int pos){
sum[counter] = index;
for(int i=pos; i<counter; i++){
// sum[i] = sum[i+1];
sum[pos]= index;
// newArray[pos] = index;
}
}
public void insertShift(int index, int pos){
sum[counter] = index;
for(int i=counter; i> pos; i--){
sum[i]= sum[i-1];
sum[pos]= index;
}
}
public void print () {
for (int i = 0; i < counter; i++) {
System.out.println(sum[i]);
}
}
}