Generation

generate functionThu, 27 Apr 2023

En EstacionSeguimiento, hay que eliminar los métodos getSatelitesValidos() y getSatelitesCompatibles(Posicion d). En su lugar, hay que añadir otro public Satelite[] getSatelitesValidos(SelectorSatelite s). El objetivo del nuevo método es devolver un array Satelite[] sólo con aquellos Satelites diferentes de null y que cumplan una determinada condición (la del SelectorSatelite que se pase como parámetro). Si el SelectorSatelite que se pasa como parámetro es null, debe devolver el array obtenido usando un SelectorSateliteTrue. En el resto del cuerpo del método, cuando se accede a cada casilla de this.satelites y se comprueba que no es null, hay que añadir la comprobación que se realiza al llamar al método s.seleccionar(Satelite c). Puede hacer el código de este método como en los métodos eliminados: un recorrido contando cuántos Satelites cumplen la condición, creación del array de resultado, y rellenado del array copiando los Satelites que cumplen la condición.

public Satelite[] getSatelitesValidos(SelectorSatelite s) { if (s == null) { s = new SelectorSateliteTrue(); } int n = 0; for (int i = 0; i < satelites.length; i++) { if (satelites[i] != null && s.seleccionar(satelites[i])) { n++; } } Satelite[] resultado = new Satelite[n]; int j = 0; for (int i = 0; i < satelites.length; i++) { if (satelites[i] != null && s.seleccionar(satelites[i])) { resultado[j] = satelites[i]; j++; } } return resultado; }

Questions about programming?Chat with your personal AI assistant