No, no puedes.
En un programa, las cosas han de estar "programadas", valga la redundancia.
Es decir, en tu programa vas a querer trabajar con esos arrays: introducir datos, buscar datos, modificarlos... ¿Cómo vas a escribir un programa que haga todo eso si en el momento de escribirlo no sabes que nombres van a tener?
Es decir, yo puedo recorrer este array con un bucle, porque se cuál es su nombre en el momento de escribir el programa
Pero, si no se su nombre, porque este lo va a decidir el usuario y de hecho va a ser distinto cada vez que se ejecute el programa..., ¿cómo voy a poder escribir un código donde referirme a él para recorrerlo y/o modificarlo?
Por tanto, no se puede. Los nombres(referencias) de variables, clases y objetos las ha de decidir el programador en el momento de escribir el código.
Ahora bien, si tú lo que quieres es dar la posibilidad al usuario de crear un array cuando él quiera y poder "bautizarlo" a su gusto, lo que se puede hacer es crear una clase donde sus atributos sean un array y un String para recoger el nombre que elija el usuario.
Ese "nombre" no va a influir a nivel de código, porque en el código no lo vamos a usar para referenciar a los arrays(ya hemos explicado que no se puede), simplemente servirá para que el usuario pueda asignar unos nombres a los arrays que el decida crear en tiempo de ejecución.
Todo esto implica conocer
programación orientada a objetos (POO), no se si ya has comenzado a aprender esta disciplina.
En cualquier caso, te dejo un ejemplo muy sencillo. Si no sabes POO puede que te suene a chino, pero bueno.
Primero escribimos la clase que modela un array (en este caso sera de int) y que tendrá un atributo donde darle un nombre.
Escribo unos métodos básicos donde por ejemplo podamos insertar un valor en una posición o también poder mostrar el contenido del array.
Fíjate que aunque el usuario le vaya a dar un nombre, aquí en el código en realidad ese nombre nos da igual. No lo vamos a usar para trabajar con el array(insisto, porque no es posible tal cosa)
Pero el array tendrá un nombre de cara al usuario, que este podrá elegir y usarlo para seleccionar el array con el cuál quiere trabajar.
Y ahora escribimos la clase principal. Aquí es donde, usando la clase que hemos escrito antes, el usuario podrá crear todos los arrays que el quiera escogiendo su nombre y su longitud.
Mediante un menú de opciones, podrá elegir un array dando su nombre e insetarle un valor o mostrarlo en pantalla.
Ahora muestro un ejemplo de una ejecución de este programa.
Puede verse como se crean dos arrays con distintos nombres, y mediante estos nombres, podemos darles valores y mostrarlos.
Esta es la única forma donde el usuario pueda elegir un nombre para sus arrays. Pero es importante comprender que este nombre es solo de cara al usuario y en tiempo de ejecución.
Dentro del código, no podemos utilizar de ninguna manera esos nombres para referirnos a los arrays. Necesitamos unos nombres concretos y ya predefinidos por el programador, de lo contrario, no es posible escribir ningún código.
No se si podrás entender el ejemplo que he escrito. Si no lo entiendes porque aún no sabes POO, no importa, guárdalo para cuando empieces a aprender programación orientada a objetos, quizás te resulte útil.
Un saludo.