Hola jga
Tu clase Motor está construida con todos sus elementos correctos excepto en un detalle
Tu método
public void tecleeTipoMotor (int tMotor)
Es válido, pero no es lo que se pedía en el ejercicio.
Tu método funciona así:
Con el método
public void setTipo (int valueTipo)
Decides que tipo de motor tienes, un número entero: 0, 1, 2, etc.
Cuando llamas al método
public void tecleeTipoMotor (int tMotor)
Te pide el tipo de motor que tienes. Tienes que recordar que tipo de motor le pusiste, o bien le das un tipo de motor distinto del que realmente tiene.
En el primer caso, nosotros trabajamos para el programa, cuando es el programa el que tiene que trabajar para nosotros.
La clase Motor tiene un atributo 'tipo' que guarda el valor del tipo de motor, es decir, la clase siempre sabe los valores de sus atributos, no hace falta que nosotros se lo recordemos.
En el segundo caso, puede darse el caso que el tipo de motor sea 2 y al invocar el método
public void tecleeTipoMotor (int tMotor)
Le dices que tMotor es 4. El método no funcionaria bien, te dará una respuesta incorrecta para el tipo de motor que tienes.
Lo correcto es que el método 'tecleeTipoMotor' no tenga ningún parámetro, pero tenga en cuenta el valor del atributo 'tipo' para dar su respuesta.
Llegados a este punto tu clase no tendría que llamarse 'tecleeTipoMotor' pues daría lugar a engaño.
El nombre propuesto en el ejercicio 'dimeTipoMotor()' es idóneo.
Si hay algo que no entiendes, aquí estamos para ayudar.
Saludos.