Проблема в том, что вы создаете новый пустой массив, который заменяет первый.
int arr3[]= {1,2,3,4,5,6,7}; // new int[7]; populated with the values
arr3 = new int[50]; // new, empty, array and replacing the first
Я рекомендую использовать System.arraycopy
для копирования значений в ваш массив:
public static void main(String[] args) {
// create the array
int[] array = new int[50];
// copy initial values into the array
int[] values = {1,2,3,4,5,6,7};
System.arraycopy(values, 0, array, 0, values.length);
// populate random values
for (int i = values.length; i < array.length; i++) {
array[i] = (int) (Math.random() * 1500);
}
// print the array
System.out.println(Arrays.toString(array));
}