Ya solo nos quedan tres clases:
- MenuGeneros.java
- NuevosJuegos.java
- Principal.java
Lo primero que me he fijado, es que los tres tienen un método main().
Tener tres métodos main(), significa tener tres programas distintos. Tres programas que se ejecutan por separado y no se relacionan entre ellos.
¿Es eso lo que quieres?
En fin.
MenuGeneros y
NuevosJuegos no tienen errores de sintaxis en el código. Si veo algún fallo de lógica y que habría que modular el código (anidar un switch dentro de otro es confuso y puede llevar a errores). Pero como son programas que no estén terminados y que aún no tengo claro que se quiere hacer con ellos, de momento no los comentaremos.
Vamos a la clase
Principal, que si hay mucho que comentar.
Para empezar, has puesto que
Principal hereda de la clase
Usuario. Esto no provoca ningún error, pero no le veo ningún sentido. Las relaciones de herencia no están para esto, a no ser que haya un motivo inimaginable para mí y que tu puedas explicarme.
El primer error de código que vemos está en la línea 83 y viene precisamente por lo que comentaba antes.
Estas anidando switchs y en la línea 83 hay un "case 1" que está dentro del mismo ámbito que el "case 1" de la línea 22.
Por lo tanto el compilador se queja de que hay dos cases iguales.
Lo mismo ocurre con el case 2 de la línea 213, se solapa con el que hay en la línea 140.
Y no son los únicos.
Para evitar esto hay que "modular" el código, separarlo en métodos donde cada uno se encargue de una tarea específica y tenga su propio ámbito de trabajo para no solaparse con otros.
Un método que se encargue de pedir los datos para la membresía, otro método que se encargue de los juegos de accion, otro para los juego de deporte, etc...
Luego estás usando variables que no han sido declaradas en ningún sitio:
borrador, opcion2, opcion3, opcion4, opcion5....
Estos son los errores que se muestran en la imagen que publicaste.
Al margen de esto, hay cosas que no son errores de código, pero si de lógica. Más que errores, son cosas que no tienen sentido.
Por ejemplo utilizas distintos ArrayList para almacenar una serie de mensajes.
Luego los recorres y muestras esos mensajes:
¿Por qué? ¿Por qué no mostrar esos mensaje directamente con System.out.println() en lugar de emplear colecciones de datos como ArrayList?
No le veo sentido y el resultado es un programa que desperdicia recursos del sistema.
A partir de aquí, se me hace difícil ayudarte si no explicas, con claridad y detalle, en que consiste el programa. Que ya me hago una idea, pero necesito detalles.
Necesito saber que tiene que hacer la clase Principal, si realmente quieres tres programas distintos o en realidad lo que vayan a hacer las clases MenuGeneros y NuevosJuegos también ha de ocurrir cuando ejecutamos la clase Principal.
Necesito detalles de que como han de ser los menús, que opciones ofrecen, que ha de ocurrir con cada opción...
A ver si conseguimos arrojar luz ante este embrollo.
Por último, solo mencionar que la mayoría de errores que he comentado en estos tres mensajes, te los habrías evitado si usar algún IDE como NetBeans, Eclipse o similar, pues sin necesidad de compilar nada, ya te habrían avisado de dichos fallos en tiempo real mientras escribías el código.
Si te es posible, no dudes en usar algún editor de este tipo.