Hola !
Estuve revisando tu ejercicio y esta muy bien ! Cumple con lo que se pide en la consigna.
Igualmente quiero hacerte dos observaciones para mejorar tu código:
1) Para cumplir con la convención de cómo nombrar los métodos deberías renombrar el método 'setapellidos' por 'setApellidos'. Seguramente fue un error de tipeo ya que los demás métodos están muy bien nombrados.
2) En la declaración de los campos de instancia figuran:
private String nombre;
private String apellidos;
private int edad;
private boolean casado;
private String DNI;
private String especialidad;
private int x, y;
Fíjate que los campos int x e int y, no son campos de la clase Medico, de hecho no tenemos métodos set ni get para ellos. Los atributos x e y son simplemente atributos que solo servirán para calcular un resultado en uno de los método del objeto. Por lo tanto los atributos x e y no deberían declararse como campos de instancia. De esta manera los campos de instancia deberían ser solamente:
private String nombre;
private String apellidos;
private int edad;
private boolean casado;
private String DNI;
private String especialidad;
los atributos x e y deberían declararse y utilizarse dentro del método CalculoParaMultiploEdad() solamente. De esta manera el método nos quedaría:
public void CalculoParaMultiploEdad(){
int x=edad%5;
int y=5-x;
System.out.println ("El medico de nombre " +nombre+ " con especialidad "+especialidad+ " Tendra una edad multiplo de 5 dentro de "+y+"años:");
}