Ejercicio Java

Hola tengo muchas dudas para hacer este ejercicio de Java que me piden. La verdad es que no se por donde puedo empezar, estoy muy perdido. Alguien me puede echar un cable?
El ejercicio es el siguiente:



Se pide una aplicación en modo consola que nos servirá para gestionar nuestra tienda. En la tienda se vende música, que podemos tener en varios formatos CD, vinilo, casete. Podremos asignar nuestra venta a un determinado cliente, con lo que pedimos un sistema para eliminar/añadir/listar clientes, elimi- nar/añadir/listar música y vender música a un determinado cliente; dicha venta será almacenada en un fichero de texto y también se podrá listar. El resto de entidades (clientes y música) serán almacenadas en memoria, así que cuando termine la ejecución de la aplicación, desaparecerán.

Como toda aplicación de consola, se manejará usando parámetros y su uso es así:
Una vez iniciada la aplicación esta nos mostrará el siguiente mensaje: "Esperando instrucción:"
Las instrucciones posibles son:

crear "cliente"|"musica"|"venta"
En este caso estamos creando una entidad, por ejemplo, "nom- breAplicación-crear cliente". El comando crear pedirá al usuario que se rellenen los campos de cada entidad y al final mostrará un mensaje del estilo "Cliente creado correctamente con código X", donde el código es un número incremental independiente para cada entidad. Cuando creemos una venta al tener que asignarla a un cliente nos pedirá el código de dicho cliente y para insertar música en esa venta también se hará mediante código (solo se podrá asignar una música a una venta); siempre que suceda esto se notificará al usuario de la siguiente manera: "Música X asigna- da a la venta actual". Como hemos dicho anteriormente, solo las ventas se guardarán en un fichero (el formato consistirá en sepa- rar los campos con ";").

listar "cliente"|"musica"|"venta"
Listará los elementos actuales almacenados en memoria.
eliminar "cliente"|"musica"|"venta [codigo]"
Eliminará el elemento que se pase por código. El código se podrá pasar como parámetro de la instrucción o no; si no se pasa, se deberá preguntar al usuario por él. Un ejemplo pasando el código sería "eliminar cliente 1".
cerrar
Cuando la aplicación reciba esta instrucción, finalizará su ejecución.



Muchas gracias
Un saludo
Empieza haciendo el menú, es simplemente escribir en la pantalla y coger un número por teclado.
Pero las opciones cuales serian?

¿crear, listar, elimina y cerrar?
Evidentemente.
Creas instancia y la añades a un array de objetos.
Listar todos, presentar toda la colección.
Eliminar: eliminar objeto y suprimirlo del array.

... no tiene mucho misterio.
O si estáis empezando quizás con un array2D ya hagáis. Tú sabrás mejor lo que esperan.
Si estás tan perdido a lo mejor te convendría pegarle un repaso a lo que habéis estado dando en clase los últimos días.
squarewave escribió:Si estás tan perdido a lo mejor te convendría pegarle un repaso a lo que habéis estado dando en clase los últimos días.

Si el problema esque no lo ha intentado...

Debería empezar haciendo lo más sencillo: El menú. Al ponerse en situación ya le irán saliendo otras cosas.
Si tan perdido estás que no sabes ni por donde empezar, pues no lo empieces. Mejor coge los apuntes como ya te han dicho, o mira por internet los conceptos básicos de programación en java.
En mi humilde opinión, deberías comenzar por abstraer el problema y definir los objetos que forman parte del sistema a moldear. Es evidente que necesitas un objeto Cliente que tendrá al menos la propiedad "ID" de tipo int. Otra clase sería Música, que en principio tendría como propiedad el "tipo" (vinilo, CD, etc.). Por otro lado tienes las Ventas, que tienen dos atributos, idCliente e idMusica. Los métodos para cada clase serán los necesarios para crear y modificar, mostrando cada uno de ellos los correspondientes mensajes por consola con "System.out.println()" o lo que prefieras. En la clase Venta tendrás que definir el método que almacene la venta en un fichero y también podrías definir un método estático que obtenga todos los ficheros de ventas del directorio dónde las almacenes y las liste.
El menú es lo más sencillo de todo, y lo que deberías hacer al final, pues solo sería un conjunto de sentencias condicionales dentro de un bucle que llamen a los métodos de las clases ya creadas dependiendo de lo que escriba el usuario.
Lo importante es ir paso a paso, pero sobre todo intentarlo, no esperar a que nadie te lo resuelva por completo. Si tienes alguna duda en la resolución de algún método en concreto pon lo que ya tengas y se intentará resolver, ;)
7 respuestas