Kleinste Zahl in Array finden die vorher noch errechnet werden müssen.

Dracarys

Neues Mitglied
Ich muss von 10 Städten jeweils die nächstgelegene errechnen und von dieser dann wieder die nächste, usw.
Ich habe jetzt eine for-Schleife von Stadt 0 zu den anderen 9 erstellt und den richtigen Wert erhalten, doch wie geht es das ich jetzt mit dieser Stadt weiter mache (logischerweise ohne die vorherige Stadt).1666705716725.png
 

Tippster

Mitglied
Du bist ja jetzt schon mal so weit, dass du herausgefunden hast, dass die nächste Stadt zu 0 die Stadt 4 ist.
Wenn alle Städte Objekte einer Klasse sind und dies Stadtobjekte in einem Array, liegen, dann kannst du immer die nächste Stadt suchen (in diesem Fall die 4) dann die Ursprungsstadt aus dem Array löschen (die 0) und dann die nächste Stadt zu 4 suchen (die 0 kann es ja nicht mehr werden, da wir sie aus dem Array gelöscht haben) und so geht es weiter bis alle Städte durch sind. Das geht dann locker mit einer for -Schleife.
 

Dracarys

Neues Mitglied
Du bist ja jetzt schon mal so weit, dass du herausgefunden hast, dass die nächste Stadt zu 0 die Stadt 4 ist.
Wenn alle Städte Objekte einer Klasse sind und dies Stadtobjekte in einem Array, liegen, dann kannst du immer die nächste Stadt suchen (in diesem Fall die 4) dann die Ursprungsstadt aus dem Array löschen (die 0) und dann die nächste Stadt zu 4 suchen (die 0 kann es ja nicht mehr werden, da wir sie aus dem Array gelöscht haben) und so geht es weiter bis alle Städte durch sind. Das geht dann locker mit einer for -Schleife.
Aber müsste ich dafür nicht die Stadt 0 manuell löschen?
 

Tippster

Mitglied
Aber müsste ich dafür nicht die Stadt 0 manuell löschen?
Nein, du kennst ja den Ausganspunkt am Anfang z.B.: die Stadt 0 und das ist im Array der erste Eintrag und kann somit entfernt werden.
Ich weiß nicht wie bestimmt wird von welcher Stadt aus man beginnt, aber diese Nummer behälst du dir in einer Variablen und kannst sie nach dem Berechnen des nächsten Schritts automatisiert löschen.
 

MarvinsDepression

Bekanntes Mitglied
Ein paar Anmerkungen zu der Aufgabe.

1) Musst Du die Koordinaten der Städte in zwei geterenten Arrays für x und y speichern oder kennst Du einfach noch keine Alterneativen? Z.B. die von JAVA mitgelieferte Klasse java.awt.Point (kannst Du mal googeln) würde Dir schon etwas Arbeit abnehmen und den Code ein klein wenig objektorientierter machen. Jede Stadt könnte dann durch einen Punkt repräsentiert werden, der intern die x- und y-KO speichert und die mitgelieferte Methode distance() berechnet auch noch mal schnell den Abstand zu einem anderen Punkt.

2) Die in Deinem Beispiel aufgeführeten Koordinaten haben stets identische x- und y-Werte, liegen somit auf einer Geraden. Das macht die Problemlösung trivial, denn es reicht nun, die Arrays der Größe nach zu sortieren und fertig ist die kürzeste Route. Ich schätze, dass das aber in der 'Realität' nicht so vorkommen wird.

3) Die Route muss gespeichert werden. Beispielsweise in Form eines Arrays, in welches nur die Indizes der/des ursprünglichen KoordinatenArrays in der ermittelten Reihenfolge abgelegt werden. Z.B. route[routenIndex] = stadtIndex (wenn stadtIndex auf die Koordinaten der nächstgelegen Stadt zeigt).

4) Der Suchalgorithmus muss ausschließen, dass Du eine Stadt zweimal durchfährst. Bedenke: Wenn Stadt A und Stadt F sich am nächsten liegen, dann liegt Stadt F auch wiederum der Stadt A am nächsten. Soll die Route deswegen wieder zu A zurückführen? Wohl nicht.

5) Wenn die Städte in der Ebene verteilt sind, wird allein die Suche nach der nächstgelegen (und noch nicht besuchten) Stadt nicht zwingend zur kürzesten Routenlänge führen. Um die kürzeste Route zu finden, müüsen tatsächlich alle möglichen Routen durchrerechnet werden.
Ausgehend von Stadt A und neun weiteren Städten wären das ca. 360 000 kombinationen (Fakultät 9).
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
shiroX OOP Array kleinste Zahl mit jUnit test Java Basics - Anfänger-Themen 3
S kleinste Zahl im Array finden Java Basics - Anfänger-Themen 14
P Methoden Arrays.AsList kleinste Zahl ausgeben Rekursiv Java Basics - Anfänger-Themen 9
I kleinste Ziffer einer Zahl ausgeben Java Basics - Anfänger-Themen 3
J for Schleife kleinste Zufallszahl finden Java Basics - Anfänger-Themen 25
D kleinste Wurzel finden Java Basics - Anfänger-Themen 9
A Kleinste Ziffer im Array suchen um Sortierung zu erzeugen Java Basics - Anfänger-Themen 2
M wie kann ich am besten die kleinste 2 elemente von einer Liste kriegen Java Basics - Anfänger-Themen 4
J programm für kleinste potenz Java Basics - Anfänger-Themen 10
ixChronos Letzten 4 Ziffern einer großen Zahl ausgeben Java Basics - Anfänger-Themen 3
T Ich brauche eine Schleife die eine beliebige Zahl so lange durch 10 teilt bis zur Null Java Basics - Anfänger-Themen 5
Shadowrunner Variablen Gibt es eine Möglichkeit die Ziffern/Stellen einer Zahl fest zu legen? Java Basics - Anfänger-Themen 3
T float soll durch schleife die größte mögliche Zahl herausfinden, Ausgabe ist aber "Infinity" Java Basics - Anfänger-Themen 1
T Eingabe durch eine Zahl dividieren nachgucken? Java Basics - Anfänger-Themen 4
G Bei dynamischer Arrayliste nach jeder Auswahl Zahl entfernen Java Basics - Anfänger-Themen 3
M Long-Typ in String-Änderung führt zu keinem Ergebnis bei großer Zahl Java Basics - Anfänger-Themen 11
E Array, nächste Zahl zur 5 ausgeben, wie? Java Basics - Anfänger-Themen 42
A Methoden Guten Tag , ich wollte so machen dass wenn meine frog an eine fly/bee geht dann an meine Tafel geht der zahl +1 hoch. Java Basics - Anfänger-Themen 2
B Überprüfung dass Zahl nur aus 0,1 besteht Java Basics - Anfänger-Themen 2
S Vollkommene Zahl berechnen und ausgeben Java Basics - Anfänger-Themen 16
B Hashmap richtig bauen, die Tripel auf Zahl abbildet? Java Basics - Anfänger-Themen 10
S Größte Zahl nach Eingabe der Zahl 0 ausgeben Java Basics - Anfänger-Themen 6
B 49-bit-zahl mit genau 6 Einsen bauen? Java Basics - Anfänger-Themen 21
M Java Ausgabe der höchsten Zahl Java Basics - Anfänger-Themen 14
Thomas06 Wie kann man mithilfe von boolean herausfinden ob eine zahl durch 5 und 7 teilbart ist ? Java Basics - Anfänger-Themen 7
M Prüfen on eine Zahl im String enthalten ist Java Basics - Anfänger-Themen 3
M zahl raten Java Basics - Anfänger-Themen 1
G Position einer unbekannten 3-stelligen-Zahl in einem String finden Java Basics - Anfänger-Themen 15
sserio Prüfen, ob eine Zahl eine periodische Zahl ist Java Basics - Anfänger-Themen 20
H Erste Schritte Nach einer Zahl n soll n Mal der String untereinander ausgegeben werden Java Basics - Anfänger-Themen 3
I Zahl aufrunden (Zeit) Java Basics - Anfänger-Themen 43
M Eine Methode die erkennt ob die ein gegebene zahl größer oder kleiner sein muss Java Basics - Anfänger-Themen 2
D Gerade oder ungerade Zahl mittels Methoden Java Basics - Anfänger-Themen 13
TanTanIsTrying Durschnitt berechnen von eingegebener Zahl bis 1 heruntergezählt Java Basics - Anfänger-Themen 9
R Fortlaufende Zahl Java Basics - Anfänger-Themen 3
A Wenn eine Zahl durch 7 teilbar ist, soll statt der Zahl ein ‘*‘ angezeigt werden. java? Java Basics - Anfänger-Themen 47
K Warum gibt mir z. B. 40^128 eine Zahl? Ich dachte mit xor kann man nur booleanwerte erhalten, also prüfen ob etwas whar oder falsch ist? Java Basics - Anfänger-Themen 1
I String Kombination erstellen anhand fortlaufender Zahl (Vertragsnummer) Java Basics - Anfänger-Themen 13
B Methoden Rekursiv festellen, ob eine Zahl gerade-oft vorkommt oder nicht Java Basics - Anfänger-Themen 4
W Wie ziehe ich von einer bestimmten Zahl, Zahlen ab, bis mein Ergebnis null beträgt? Java Basics - Anfänger-Themen 10
Q Prüfen ob Zahl als Summe von Potenzen dargestellt werden kann. Java Basics - Anfänger-Themen 20
HelpInneed Zahl. Java Basics - Anfänger-Themen 2
R Perfekte Zahl Java Basics - Anfänger-Themen 8
D Mittlerste Zahl Java Basics - Anfänger-Themen 17
D Grösste Zahl in einer Folge herausfinden. (ULAM) Java Basics - Anfänger-Themen 9
Poppigescorn Häufigkeit einer zahl zählen Java Basics - Anfänger-Themen 5
B Konkatenieren eines Strings und inkremtierenden Zahl zu einer INT Variablen Java Basics - Anfänger-Themen 7
Poppigescorn scan.nextInt() wiederholen bis eine Zahl eingeben wird Java Basics - Anfänger-Themen 7
J Verdoppeln einer Zahl (in dem Fall Münzen) Java Basics - Anfänger-Themen 4
C Programm das feststellen kann, ob eine eingegebene Zahl einem Schaltjahr entspricht, richtig geschrieben? Java Basics - Anfänger-Themen 11
S Algorithmus (reelle Zahl <65536 von dezimal zu dual) max. 10 Nachkommastellen Java Basics - Anfänger-Themen 4
K Wie kontrolliere ich ob ich die Zahl in meinem Array schon hab? Java Basics - Anfänger-Themen 9
T Zahl in Array ersetzen Java Basics - Anfänger-Themen 2
Abraham42 Prozentsatz einer Zahl mehrmals Java Basics - Anfänger-Themen 2
C Größte Zahl aus einem Array ermitteln(als statische Methode) Java Basics - Anfänger-Themen 31
Kingamadeus2000 Anzahl der Ziffern der kürzesten Zahl aus einem zurückliefern Java Basics - Anfänger-Themen 1
V Beliebige Dreistellige Zahl Teiler finden Java Basics - Anfänger-Themen 4
newcomerJava Nach doppelter Zahl eine Ausgabe Java Basics - Anfänger-Themen 10
W Random Zahl unter Berücksichtung eines Durchschnitts Java Basics - Anfänger-Themen 7
S Zahl eingeben Java Basics - Anfänger-Themen 8
A Java . punkt neben einer Zahl. Java Basics - Anfänger-Themen 1
F Eine Zahl mit Arrays vergleichen Java Basics - Anfänger-Themen 7
J Die größte Zahl anzeigen Java Basics - Anfänger-Themen 19
V Array auf eine Zahl durchsuchen Java Basics - Anfänger-Themen 15
X Nach einem Bruch testen ob es eine ganze Zahl ist Java Basics - Anfänger-Themen 6
L Erhöhung der Zahl Java Basics - Anfänger-Themen 3
F Negative Zahl erzwingen Java Basics - Anfänger-Themen 3
N Eine Zahl solange teilen bis es nicht möglich ist und die Ergebnisse ausgeben Java Basics - Anfänger-Themen 23
T Eulersche Zahl e Java Basics - Anfänger-Themen 5
S Letzte Zahl eines Integer auslesen? Java Basics - Anfänger-Themen 3
G Programm schreiben: Zahl (n) eingeben, 1+1/n+2/n+3/n+....+n/n Java Basics - Anfänger-Themen 8
B Eine ganze Zahl zerlegen. Java Basics - Anfänger-Themen 4
J Fehler beim generieren von 4 Zufallszahlen Zahl doppelt ist eigentlich ausgeschlossen Java Basics - Anfänger-Themen 9
H Harshad-Zahl (Nivenzahl) und Palindrom überprüfen Java Basics - Anfänger-Themen 2
I Wie viele 1 an Bits hat die Zahl x? Java Basics - Anfänger-Themen 5
A Gewürfelte Zahl ausgeben Java Basics - Anfänger-Themen 10
M Rationale Zahl erkennen - Kurze Frage zum Restwert nach Division Java Basics - Anfänger-Themen 3
A Überprüfen, ober eine Zahl Ziffer enthält Java Basics - Anfänger-Themen 12
O Markoff-Zahl Java Basics - Anfänger-Themen 22
B Datenbank, aktuelle Ende als Zahl an Label übergeben Java Basics - Anfänger-Themen 7
L 10-Stellige Zahl hochzählen lassen Java Basics - Anfänger-Themen 1
H String und Zahl Java Basics - Anfänger-Themen 10
R Zahl 1 bis 100 erraten Java Basics - Anfänger-Themen 12
Y Konkrete Hilfe gesucht - Anzahl der Stellen einer eingegebenen Zahl überprüfen Java Basics - Anfänger-Themen 5
J Button klick bei eine bestimmten Zahl Java Basics - Anfänger-Themen 8
B Zahl in String abspeichern und später berechnen Java Basics - Anfänger-Themen 15
H OOP eine Zahl immer weiter durch 2 teilen Java Basics - Anfänger-Themen 15
J Für jeden Buchstaben eine Zahl Java Basics - Anfänger-Themen 1
H Würfelspiel, stop bei gleicher Zahl Java Basics - Anfänger-Themen 4
B Array - die Häufigkeit der Zahl zählen Java Basics - Anfänger-Themen 9
I Erste Schritte Testen, ob eine Zahl eine Primzahl ist Java Basics - Anfänger-Themen 8
J Rekursive Methode - Ziffern einer Zahl ausgeben Java Basics - Anfänger-Themen 2
I Eulersche Zahl Java Basics - Anfänger-Themen 6
F Produkt d. Ziffern einer Zahl..?! Java Basics - Anfänger-Themen 5
J Die Zahl herausfinden die durch 2 - 30 Teilbar ist... Java Basics - Anfänger-Themen 17
A Ungeordnetes Array ordnen, Zahl einlesen und einordnen Java Basics - Anfänger-Themen 23
A Rechnen mit Text und Zahl Java Basics - Anfänger-Themen 4
T Datentypen char als Buchstaben statt als Zahl ausgeben Java Basics - Anfänger-Themen 4
S Jede Ziffer einer Zahl auslesen, damit rechnen und beim Ergebnis wiederholen ? Java Basics - Anfänger-Themen 20
H 32-Bit Zahl (Integer) in eine IPv4 Adresse umwandeln? Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben