Weil der letzte Post ja so erfolgreich mit 1000 Aufrufen war kommt hier noch eine Frage:
Ich will eine Position (X und Y) aufrufen und wenn an diesen eine "Sendestation", aus folgenenden Klasse ist, mobiles oder Wlan mit true versehen:
Java:
public class Smartphone {
private static int x;
private static int y;
private static Service01 verbunden;
// Wie kann ich das Netzwerk speichern mit dem es verbunden ist?
private static boolean mobiles;
private static boolean WLan;
// Eigenschaften vom Handy
public Smartphone(int x, int y) { // Konstruktor
Smartphone.x = x;
Smartphone.y = y;
mobiles = false; // Hier ist der Fehler!
WLan = false;
verbunden = null;
// Glaube wir können es über das lösen -> Wenn verbunden nicht null ist müssen
// wir wisen welches WLan gebraucht wird.
}
public void setmobiles(boolean mobilesI) { // Soll Setter fürs Einschalten und ausschalten sein von mobiles!
mobiles = mobilesI;
this.connecttoNetwork();
// Ich will auf meine anderen Eigenschaften zugreifen -> auf die Eigenschaften
// von Position 10 10
}
public void setWLan(boolean WLanI) { //Frage ist wo soll ich es einschalten oder nicht?
// !Muss nur prüfen ob an Position von Smartphone Konstruktor von WLAN oder LTE ist!
WLan = WLanI;
this.connecttoNetwork();
}
public void setverbunden(Service01 verbundenI) { // Müsste eigentlich reichen für Setter!
verbunden = verbundenI;
this.connecttoNetwork();
}
public static void connecttoNetwork() { //Muss dem kein Smartphone übergeben?
if (WLan == true) { // Wie soll es wahr sein, wenn wir von vornherein sagen dass es nicht wahr ist
verbunden = Connection.getStrongestNetwork(x, y, Service01.FREQUENCY_WIFI);
}
if (verbunden == null) {
if (mobiles == true) {
verbunden = Connection.getStrongestNetwork(x, y, Service01.FREQUENCY_LTE);
}
}
if (verbunden == null) {
verbunden = Connection.getStrongestNetwork(x, y, Service01.FREQUENCY_E);
}
}
public static void printCurrentNetwork(Smartphone s1) { //Glaube ich muss nur bei dem Werte übergeben!
if (WLan == true) {
System.out.println("Verbunden mit WLan");
}
if (mobiles == true) {
System.out.println("Connected to LTE");
}
}
}
Ich will eine Position (X und Y) aufrufen und wenn an diesen eine "Sendestation", aus folgenenden Klasse ist, mobiles oder Wlan mit true versehen:
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;
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() {
return this.Name;
}
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;
}
}