Pufff jaja no veas, se ha montado el tio una tienda en modo consola, jajaja.
La verdad que esta bastante bien, creo que he probado todas las opciones y excepto por el formato de los textos que siempre es igual cuesta mucho ver bien los productos en stock y los de envío, te recomiendo que al trabajar con programas de consola, crees separaciones, por ejemplo así:
System.out.println("_________________");
System.out.println("| titulo o cabeceras |");
System.out.println("_________________");
Lo mejoraras bastante a la vista, jeje.
La verdad que el código comienza a ser engorroso como para repasarlo linea por linea. Pero en el rato que me peleado pasando productos de un lado a otro, añadiendo, quitando, etc... solo me provoco una excepción cuando me pidió una fecha que yo puse "asdasasd". Pero eso ha sido cosa mía, jajajajaja.
Bueno te felicito también por no conformarte con lo que se te pide, el llegar más haya, te vuelvo a decir que esto se te va a dar bien.
Yo por mi parte el ejercicio lo veo supercurradísimo y creo que esta bastante bien.
Por cierto, ahora creas un servidor ssh y pones tu tienda online..... XDDDDD