Generation

generate functionWed, 12 Apr 2023

public class EstacionSeguimiento { final static int N = 5; private String id; private int nuevosSatelites; private Satelite [] satelites; public EstacionSeguimiento(String id) { super(); this.id = id; this.nuevosSatelites = 0; this.satelites = new Satelite[N]; } public String getId() { return id; } public Satelite[] getSatelites() { return this.satelites; } @Override public String toString() { return "EstacionSeguimiento [id=" + id + ", nuevosSatelites=" + nuevosSatelites + ", satelites=" + Arrays.toString(satelites) + "]"; } public void addSatelite(Satelite s) { if(s==null) return ; for(int i = 0; i < this.satelites.length; i++) { if(this.satelites[i] == null) { this.satelites[i] = s; this.nuevosSatelites++; return; } } for(int i = 1; i < this.satelites.length; i++) { this.satelites[i-1] = this.satelites[i]; } this.satelites[this.satelites.length-1] = s; } public Satelite[] getSatelitesValidos() { int count = 0; for(int i = 0; i < this.satelites.length; i++) { if(this.satelites[i] != null) { count++; } } Satelite[] validSatelites = new Satelite[count]; int index = 0; for(int i = 0; i < this.satelites.length; i++) { if(this.satelites[i] != null) { validSatelites[index] = this.satelites[i]; index++; } } return validSatelites; } public Satelite[] getSatelitesCompatibles(Posicion pos) { int count = 0; for (int i = 0; i < this.satelites.length; i++) { if (this.satelites[i] != null && this.satelites[i].esCompatible(pos)) { count++; } } Satelite[] compatibleSatelites = new Satelite[count]; int index = 0; for (int i = 0; i < this.satelites.length; i++) { if (this.satelites[i] != null && this.satelites[i].esCompatible(pos)) { compatibleSatelites[index] = this.satelites[i]; index++; } } return compatibleSatelites; } public void actualizar(long t) { for(int i = 0; i < this.satelites.length; i++) { if(this.satelites[i] != null) { this.satelites[i].mueveHasta(t); } } } Cree el método: public void addDeteccion(Posicion pos, long t) En primer lugar, este método debe llamar a actualizar (t) de forma que todos los Satelites actualizarán su t y Posicion. Después, obtendrá el array de Satelites que se obtiene al llamar a this.getSatelitesCompatibles(pos). Si hay algún Satelite, toma el primero que es compatible con la Posicion pos, y supone que se ha detectado ese Satelite así que llama a su método detectadoEn(pos, t). Si no hay Satelites compatibles, crea uno nuevo cuyo identificador sea “AUTO” seguido de this.nuevosSatelites, con el valor de pos para los atributos pos y pos0, y t como valor de los atributos t y t0. Añadirá este Satelite nuevo mediante el método addSatelite. Es necesario actualizar this.nuevosSatelites, que irá contando el número de Satelites nuevos que se van a ir creando de esta forma. No se usa para nada más.

public int sum_integers(numbers): sum = 0 for x in numbers: sum += x return sum print(sum_integers([1, 2, 3]))

Questions about programming?Chat with your personal AI assistant