Hola momo
Si tu código tiene dos pequeñas deficiencias
1ª Al principio del main y antes de presentar ningún mensaje declaras e inicializa el objeto teclado de tipo EntradaTeclado.
Verás que el constructor de esta clase llama a su método pedirEntrada()
Esto hace que el programa espere una entrada de teclado con un ENTER al final. Hasta que no introduzcas ese ENTER no se ejecutará el resto del código. Además como no has presentado ningún mensaje por consola, si esta no está abierta, tendrás que llamarla por el menú de BlueJ.
2ª Si introduces o matriculas más de un vehículo, en el listado de vehículos, se repetirá siemptre el último vehículo introducido.
Esto ocurre porque durante todo el tiempo estás trabajando con el mismo objeto vehiculo (siempre la misma dirección de memoria), lo que estás haciendo es cambiar la marca y matrícula del mismo vehículo.
Para solucionarlo, debes crear un objeto de tipo vehiculo nuevo (distinto) cada vez que eliges otro vehículo.
Te propongo que rediseñes el código para solucionar estas dos deficiencias.
Nota: Un método útil a la hora de detectar las pulsaciones de teclado es una versión del 'equals()' llamada
equalsIgnoreCase("..texto..")
ver siguiente enlace
https://www.aprenderaprogramar.com/foros/index.php?topic=1302.msg7773#msg7773Eso es todo. Saludos