Hola Sergio.
He visto tu código y lo he probado. Funciona sin errores.
Quiero comentarte cosas que has hecho y podías mejorar.
En el método setEdad() has incluido el código para mostrar los años que le faltan al médico para tener una edad múltiplo de 5.
Te confirmo que es un código válido y funciona. Pero, si relees el enunciado del ejercicio, verás que se pide crear un método.
Define un método de nombre
“calculoParaMultiploEdad” que no recibe parámetros y es tipo procedimiento
Este método ha de ser como entenderás independiente del método setEdad().
Nota: los métodos que empiezan por set... y get... de las clases, usados para establecer y obtener los atributos de la clase respectivamente, tienen un único propósito: set para establecer y get para devolver los valores de los atributos, y para nada más.
Piensa que con tu código, para saber si la edad del médico será múltiplo de 5 dentro de pocos años, has de cambiar su edad con setEdad()
De la otra forma, en cualquier momento, incluso sin conocer la edad del médico, el método calculoParaMultiploEdad() siempre te devolverá los años que le faltan al médico para que su edad sea múltiplo de 5.
Por último veo que usas un atributo de nombre 'folioidentificacion', válido como cualquier otro, cumple con la excepción de no empezar con una cifra.
Pero, hay una convención entre otras, al escribir código en java de:
A la hora de poner nombres a las variables y métodos con nombres compuestos: Empezar con minúscula y las siguientes palabras empezarlas con mayúscula (práctica que facilita su lectura)
Las convenciones son opcionales, yo puedo poner a una variable que acumula el número de vecinos de una escalera el nombre de: "String hpg5u;" también puedo poner "String numerodevecinos;" o "String numeroDeVecinos; o "String numeroTotalDeVecinosDeLaEscalera;"
Los dos últimos ejemplos cumplen la convención.
Saludos y adelante.