» Doppelte Objekte meiden

Array AusgebenNeuen Thread eröffnenNeue Antwort erstellenJava "lernen" mit Büchern
AutorNachricht
Beobachter 
Anmeldedatum: 08.09.2017
Beiträge: 1
08.09.2017, 18:20
zitieren

Hallo zusammen,

Ich habe dieses Problem schon in einem anderen Forum geschrieben, aber kam nicht wirklich weiter... Mir fehlt einfach ein schubser in die richtige Richtung.

Zum Programm:

Ich erstelle grade eine Programm, mit dem ich das TSP-Problem lösen möchte. Im Moment bin ich dabei eine Umgebung zu erschaffen. Ich erstellte die Klasse City und Roads. Die Attribute von City spielen jetzt keine Rolle nur von Roads.

So alles klappt wunderbar ich kann Städte erstellen und ich kann daraus auch Straßen erstellen.
Die klasse Road besitzt eig nur 2 Attribute die wir von der Klasse City erhalten: Anfangspunkt z.b City 1 und Endpunkt City 2

1. Road = Name: City4 , X: 335 , y: 403 --> Name: City1 , X: 477 , y: 315 2. Road = Name: City1 , X: 477 , y: 315 --> Name: City3 , X: 56 , y: 364 3. Road = Name: City0 , X: 326 , y: 227 --> Name: City3 , X: 56 , y: 364 4. Road = Name: City3 , X: 56 , y: 364 --> Name: City2 , X: 85 , y: 327 5. Road = Name: City3 , X: 56 , y: 364 --> Name: City0 , X: 326 , y: 227 6. Road = Name: City1 , X: 477 , y: 315 --> Name: City0 , X: 326 , y: 227 7. Road = Name: City4 , X: 335 , y: 403 --> Name: City2 , X: 85 , y: 327 8. Road = Name: City4 , X: 335 , y: 403 --> Name: City1 , X: 477 , y: 315 9. Road = Name: City0 , X: 326 , y: 227 --> Name: City1 , X: 477 , y: 315 10. Road = Name: City3 , X: 56 , y: 364 --> Name: City4 , X: 335 , y: 403 

So sieht die Ausgabe aus wunderbar. Jetzt kommt das Problem... Manche Straßen sind doppelt z.b Road 1 und Road 2 dazu kommt noch Road 3 und Road 5...

Wie kann ich das meiden? Mein Ansatz, wo mir geraden wurde mit equals zu arbeiten sieht folgendermaßen aus:

//Generator füllt die Arrays mit Werten (Zufall)
    public void fillRandom() {
 
        Random random = new Random();
 
 
        //Die Schleife geht solange bis sie die Größe erfüllt hat
        for (int i = 0; i < cities.length; i++) {
            //jetzt eine Grenze def.
            int xPos = random.nextInt(500);
            int yPos = random.nextInt(500);
            cities[i] = new City("City" + i, xPos, yPos);
        }
 
 
        //die Straßen werden hier def. angelehnt an den Cities, wegen Q ---> Z
        for (int i = 0; i < roads.length; i++) {
            int s = random.nextInt(cities.length);
            int t = random.nextInt(cities.length);
 
            int counter = 0;
            while (s == t && counter < 1000) {
                counter++;
                t = random.nextInt(cities.length);
            }
 
 
            if (s != t) {
 
                Road newRoad = new Road(cities[s], cities[t]);
                for (int k = 0; k < i; k++) {
                    if (roads[k].equals(newRoad)) {
                        // Strasse gibts schon, etwas tun
 
                    }
                }
                // wenn du hier her kommst und es gab die Strasse noch nicht dann einfügen
                roads[i] = newRoad;
            }
        }
    }
 
 

Ich möchte eig am liebsten das er wieder in die Schleife zurückspringt aber da man das in java nicht gerne macht (goto) finde ich auch nix im Internet drüber...

Bitte helft mir ich werde noch verrückt :/ :(


pn
Gast 
08.09.2017, 18:20
zitieren

Mach mit!

Wenn Dir die Beiträge zum Thread "Doppelte Objekte meiden" gefallen haben oder Du noch Fragen hast oder Ergänzungen machen möchtest, solltest Du Dich gleich bei uns anmelden:



Registrierte Mitglieder genießen die folgenden Vorteile:
✔ kostenlose Mitgliedschaft
keine Werbung
✔ direkter Austausch mit Gleichgesinnten
✔ neue Fragen stellen oder Diskussionen starten
✔ schnelle Hilfe bei Problemen
✔ Bilder und Videos hochladen
✔ und vieles mehr...


Neuen Thread eröffnenNeue Antwort erstellen
Ähnliche BeiträgeRe:
Letzter Beitrag
Welchen Laptophersteller meiden???
Sers, da mein Studium bald beginnt wollte ich mir nen Lappi kaufen. Mich würde gerne interessieren welche Hersteller gut und welche eher weniger gut sind? Mfg...
von Fakie
18
932
06.09.2006, 22:14
Fakie
U.H.O - Unbekannte Honda Objekte
HILFEEEEEE ich dreh durch!!! angefangen hats nachdem mich *prift gefragt hat welche ausstattung mein EJ2 hat.. dan haben wir über EX, DX, LX, CX, VX, VEi, LSi, etc. diskutiert und ich hab mal nachgeforsch und bin drauf gekommen das wir in europa nix...
von Ryuujin
1
2.686
12.10.2010, 08:54
deathcore-civic
 Altes Google Analytics Script meiden!
Ich war eben auf einer Seite, da dauerte es doch tatsächlich über 30 Sekunden bis das Analytics-Script geladen wurde und so lange konnte ich die Seite auch nicht vollständig sehen. Also es wurde nur das Menü angezeigt! Man sollte stattdessen die...
[Javascript]von mgutt
0
499
22.11.2011, 08:47
mgutt
Objekte ein/ausblenden funktioniert im Firefox nicht
Hallo zusammen, ich hoffe mal, da ich hier noch neu bin, an der richtigen Stelle gelandet zu sein ;) Also nun zu meinem Problem: ich habe ein kleines Script gebastelt, das so aussieht: function toggle_display&#40;element&#41;...
[Javascript]von Michael1995
0
560
21.05.2011, 11:06
Michael1995
Nintendo Aktie würde ich meiden: Wii U sieht nach Flopp aus
Aktuell sollte man meiner Ansicht nach die Nintendo Aktie meiden. Ich glaube nicht, dass die Wii U ein Erfolg wird. Das Konzept mit der drahtlosen Verbindung zum Fernseher ist in meinen Augen keine tolle Idee. Ich bezweifle auch, dass der Akku lange...
von mgutt
10
781
29.01.2012, 16:03
mgutt
B16a2 doppelte federn
Hi leute, da ich mit meinem umbau zum ende komme hab häufen sich die fragen. Eine davon ist der drehzahl begrenzer. Ich habe mir mal sagen lassen ich soll die doppelten federn der ventile auf beide seiten einbauen also ein- auslass. Kann ich jetzt mit...
von mito1509
6
391
28.01.2015, 21:27
mito1509
Doppelte Einträge beim Speichern ???
Hallo Froum habe folgendes Problem nach 4Jahren mit Mediawiki: wenn ich einen Absatz in Mediawiki speichere, erscheint dieser nun doppelt: 1x mit der Änderung 1x ohne die Änderung Die Seite ist 2000 Zeilen lang, hat viele code-abschnitte via...
von actino
1
242
08.08.2011, 08:45
actino
Doppelte Blinkfrequenz bei unserem Terios
Hallo und Guten Tag, ich habe da eine Frage und vielleicht weiß jemand eine Antwort darauf: Mein Terios hat seit kurzem eine doppelte Blinkfrequenz, die aber NUR bei der Betätigung des Blinkgebers auf der linken Seite auftritt (Links bedeutet ich sitze...
von marluc@posteo.de
0
84
27.07.2018, 12:47
marluc@posteo.de
OldID, Google findet doppelte titletags
Hallo! In den Suchergebnissen von Google taucht unsere Seite oft mit veralteten, mittlerweile gelöschten oder verschobenen Versionen auf. Diese Seiten haben am Ende ihrer Adresse z.B. ein oldid=2250 Kann ich Google dazu bekommen, dass es diese verwaisten...
von moosmutzel
1
117
04.11.2012, 18:11
stefahn
Anti-Spam: Doppelte Threads führen zur Sperrung
Wenn ein neuer User einen Thread erstellt und der Text ist identisch zu seinem vorher geposteten Thread, dann wird dieser User ab sofort automatisch gesperrt. Damit soll verhindert werden, dass Spammer versuchen die Foren mit immer den gleichen Threads...
von mgutt
0
158
08.01.2017, 21:29
mgutt
© 2004 - 2024 www.programmierer-forum.de | Communities | Impressum |