Servus,
ich habe dass Problem dass ich eine Instanz zurückgeben will aus einer anderen Klasse. Hier im Beispiel will ich aus der Klasse Service 01:
Zurückgegeben werden soll die verwaltete Service Instanz, welche auf der übergebenen Frequenz sendet und an den gegebenen Koordinaten über stärkstes SRX (aus Methode compute Intensity) verfügt.
Wie kann ich dies zurückgeben in meiner getStrongestNetwork Methode der Klasse Connection?
ich habe dass Problem dass ich eine Instanz zurückgeben will aus einer anderen Klasse. Hier im Beispiel will ich aus der Klasse Service 01:
Java:
public class Service01 {
private final String Name; // Getter und Setter brauch ich, da alle Attribute private sind!
private final int yPosition;
final int xPosition;
private final double Sendeleistung;
private final double Frequenz;
// Mögliche Senderfrequenzen
public static final double FREQUENCY_WIFI = 2.4;
public static final double FREQUENCY_LTE = 2.6; //Wenn LTE wahr ist
public static final double FREQUENCY_E = 0.9;
public Service01(String NameK, int yPositionK, int xPositionK) { // K für Konstruktor
this.Name = NameK;
this.yPosition = yPositionK;
this.xPosition = xPositionK;
this.Sendeleistung = 0.3;
this.Frequenz = FREQUENCY_WIFI;
}
public Service01(int xPositionK, int yPositionK, boolean LTE) { // K für Konstruktor
this.xPosition = xPositionK;
this.yPosition = yPositionK;
if (LTE == true) {
this.Name = "LTE";
this.Sendeleistung = 8000;
this.Frequenz = FREQUENCY_LTE;
}
else {
this.Name = "E";
this.Sendeleistung = 18000;
this.Frequenz = FREQUENCY_E;
}
}
public String getName() { // S für Setter
return this.Name; // Wie funktioniert Setter bei Konstanten?
}
public int getYPosition() {
return this.yPosition;
}
public int getXPosition() {
return this.xPosition;
}
public double getSendeleistung() { // Wir brauchen Getter, da wir durch unser aufschreiben schon "setten"
return this.Sendeleistung;
}
public double getFrequenz() {
return this.Frequenz;
}
}
Zurückgegeben werden soll die verwaltete Service Instanz, welche auf der übergebenen Frequenz sendet und an den gegebenen Koordinaten über stärkstes SRX (aus Methode compute Intensity) verfügt.
Wie kann ich dies zurückgeben in meiner getStrongestNetwork Methode der Klasse Connection?
Java:
public class Connection {
private static Service01[] Internetquellen = new Service01[100]; // Lege Array an mit 100 freien Stellen
public static boolean add(Service01 s) {
for (int i = 0; i < Internetquellen.length; i++) {
if (Internetquellen[i] == null) {
Internetquellen[i] = s;
if (Internetquellen[i] == s) {
return true;
}
break;
}
}
return false;
}
public static double computeIntensity(int x, int y, Service01 s) {
double SRX = 0;
if (s != null) {
int x_1 = (s.getXPosition() - x) * (s.getXPosition() - x);
int y_1 = (s.getYPosition() - y) * (s.getYPosition() - y);
double d = Math.sqrt(x_1 + y_1);
SRX = s.getSendeleistung() * Math.pow(4 * 3.14 * d * s.getFrequenz(), 2);
}
return SRX; // Warum brauch ich return?
}
public static void printAvalibleNetworks(int x, int y) {
for (int i = 0; i < Internetquellen.length; i++) {
if (Connection.computeIntensity(x, y, Internetquellen[i]) > 1) {
System.out.println(Internetquellen[i].getName());
}
}
}
public static void getStrongestNetwork (int x, int y, double f) {
}
}
Zuletzt bearbeitet von einem Moderator: