I tried to insert a character into the array in the code below, it works but gets rid of the number in the position. How do I move the old element back a space.
public class MainArrays {
public static int[] add(int[] arr, int val) {
int[] newArray = Arrays.copyOf(arr, arr.length + 1);
newArray[arr.length] = val;
return newArray;
}
public static int[] del(int[] arr) {
return Arrays.copyOf(arr, arr.length - 1);
}
public static int[] ins(int[] a, int pos, int num) {
int[] result = new int[a.length];;
for(int i = 0; i < pos; i++)
result[i] = a[i];
result[pos] = num;
for(int i = pos + 1; i < a.length; i++)
result[i] = a[i - 1];
return result;
}
public static void main(String[] args) {
int[] a = { 1, 2, 4 };
System.out.println(Arrays.toString(a));
a = add(a, 7);
System.out.println(Arrays.toString(a));
a = del(a);
System.out.println(Arrays.toString(a));
a = ins(a, 2, 3);
System.out.println(Arrays.toString(a));
}
}
Old Output
[1,2,4]
New Output
[1,2,3]
Desired Output
[1,2,3,4]