Zweidimensionales Array mit Schleife summieren

Sophie

Bekanntes Mitglied
Hallo Zusammen

Ich sitze hier schon ziemlich lange, um meine Fehler in diesem Quellcode zu finden. Es funktioniert alles schon in etwa, wie es sollte, bis auf ein paar Macken.
Also es geht um die Methode list() ab Zeile 97.

Also, ich habe folgenden Quellcode

Java:
public class Route {
	

       // (0)AAchen, (1)Berlin, (2)Chemnitz, (3)Dresden, (4)Erfurt, (5)Flensburg, (6)Garmisch, (7)Hamburg  
  
            int[][] entfernung = {
            {000, 640, 580, 650, 440, 649, 735, 490},      //(0)Aachen
            {640, 000, 260, 190, 300, 450, 671, 290},      //(1)Berlin
            {580, 260, 000, 70, 150, 670, 480, 520},       //(2)Chemnitz
            {650, 190, 70, 000, 220, 650, 610, 502},       //(3)Dresden
            {440, 300, 150, 220, 000, 550, 490, 400},      //(4)Erfurt
            {649, 450, 670, 650, 550, 000, 1020, 160},     //(5)Flensburg
            {735, 671, 480, 610, 490, 1020, 000, 869},     //(6)Garmisch
            {490, 290, 520, 502, 400, 160, 869, 000}       //(7)Hamburg
             };
         
           
            
            /*Methode anbieten
             * der Benutzer kann wählen, ob er die Standartroute, 
             * oder die vorgegebene Route möchte
             */
            
            
            public final void anbieten() {                 
                 
            	System.out.println("Staedte: Aachen, Berlin, Chemnitz, Dresden, "           //zeigt die verfügbaren Städte an
                                           + "Erfurt, Flensburg, Garmisch, Hamburg");
                
              
          // Auswahl der Städteliste mit Hilfe der Konsole              

                String antwort;
                    antwort = Konsole. getInputString("Moechten Sie diese Staedteliste nutzen? j/n");
                    
                    if (antwort.equals("j")){                          //Bei Eingabe "j" wird die Standartroute ausgegeben
                    
                        System.out.println ("Antwort: " + antwort);
                        alleDaten ();
                    }
                    
                    else if (antwort.equals("n")){                    //Bei Eingabe "n" wird die Methode "list" ausgeführt
                                                                      //Der Benutzer kann seine eigene Route zusammenstellen
                    	list ();

                                                                                                                   
                                      }
                    else {                                                   //Wird weder "j" noch "n" eingegeben wird mitgeteilt, dass
                    	System.out.println("Bitte geben Sie j oder n ein");  // Eingabe ungültig ist, eine erneute Eingabe ist möglich
                    	
                    	antwort = Konsole. getInputString("Moechten Sie diese Staedteliste nutzen? j/n");
                    
                    }
             }
            
            
          public int standardroute(){
			return summe; 
        	  
               		}
                int summe =                  //Berechnung der Kilometeranzahl der Standartroute
               
                (entfernung[1][6]+
                entfernung[6][7]+            //Die Felder des Arrays werden nach vorgegebener Reihenfolge summiert
                entfernung[7][3]+
                entfernung[3][6]+
                entfernung[6][0]+
                entfernung[0][5]+
                entfernung[5][1]);
                
          
            
     
   
            public void alleDaten(){         // Route wird übersichtlich auf der Konsole ausgegeben
            
            
                System.out.println("Start: Berlin");
                System.out.println("Von Berlin nach Garmisch: " + entfernung[1][6] + "km.");
                System.out.println("Von Garmisch nach Hamburg: " + entfernung[6][7] + "km.");
                System.out.println("Von Hamburg nach Dresden: " + entfernung[7][3] + "km.");
                System.out.println("Von Dresden nach Garmisch: " + entfernung[3][6] + "km.");
                System.out.println("Von Garmisch nach Aachen: " + entfernung[6][0] + "km.");
                System.out.println("Von Aachen nach Flensburg: " + entfernung[0][5] + "km.");
                System.out.println("Von Flensburg nach Berlin: " + entfernung[5][1] + "km.");
                
                
                System.out.println("Gesamtstrecke: " + standardroute());
                        
            }
            
            
            
            //Methode zum erstellen einer eigenen Route
            
            
            public void list() {
                
            	
            	//Variablen
            	
            	int start;
                int letzteStadt = 0;
                int strecke = 0;
                int naechsteStadt = 0;
                int j = 0;
                
                                
                
                //Array in dem die Staede gespeichert sind.
                String[] staedte = {
                "Aachen", "Berlin", "Chemnitz", "Dresden", 
                "Erfurt", "Flensburg", "Garmisch", "Hamburg"};
                            

                //Der Benutzer wird das Angebot angezeigt und aufgefordert seine Route auszuwählen
                
                int[] citycount = new int[8];

                
                
                System.out.println("Staedte: 0 Aachen, 1 Berlin, 2 Chemnitz, 3 Dresden, "
                                    + "4 Erfurt, 5 Flensburg, 6 Garmisch, 7 Hamburg");
                
                start = Konsole.getInputInt("In welcher Stadt möchten Sie starten?");
                
              //  letzteStadt = start;                               //die Route wird mit der 1. Stadt beendet
                                                            
                System.out.println("Start in: " + start);
                
                
                

                	while (start != naechsteStadt) {                 // es können so lange Städt eingegeben werden, bis die
                		                                             // 1. Stadt eingegeben wird
                		
                		

                		for(int i = 0; i<citycount.length; i++)
                        {
                			naechsteStadt = Konsole.getInputInt("Bitte geben Sie die nächste Stadt ein");
                			
                        
                        citycount[i] = naechsteStadt;
                   		citycount[j] = letzteStadt;
                   		  
                		                            		            		
                   		         		
                		// übersichtliche Ausgabe der Auswahl für den Benutzer auf der Konsole
                		   System.out.println("Von " + staedte[citycount[j]]+" nach "+ staedte[citycount[i]]);
                       
                        // Entfernung zwischen den beiden Städten wird als Zwischensumme berechnet
                        // und auf der Konsole ausgegeben
                           System.out.println(entfernung[citycount[j]][citycount[i]]+" km.");    
                        
                        //Die gesamten Zwischensummen der Entfernungen werden summiert
                           strecke = strecke + entfernung[i][j];       
                        
                         
                           letzteStadt = naechsteStadt;                       // es wird immer die zuletzt eingegebene Stadt
                                                                              // mit der aktuellen Stadt ausgegeben und berechnet
                  
                           
                          
                        while (start == naechsteStadt) {                      //wenn der Benutzer die Startstadt eingibt, wird die
                         System.out.println("Gesamtstrecke: " + strecke);     //Eingabe beendet und die Kilometerzahl der gesamten
                                                                              //Strecke ausgegeben
                    
                         break;
                       }
                       
                   }
          }          	  
}
            //Die Methoden werden getestet
                        
            public static void main(String[] args) {
                Route test = new Route();
                test.anbieten();
            }
 }

mit folgender Ausgabe auf der

Java:
Staedte: Aachen, Berlin, Chemnitz, Dresden, Erfurt, Flensburg, Garmisch, Hamburg
Moechten Sie diese Staedteliste nutzen? j/nn
Staedte: 0 Aachen, 1 Berlin, 2 Chemnitz, 3 Dresden, 4 Erfurt, 5 Flensburg, 6 Garmisch, 7 Hamburg
In welcher Stadt möchten Sie starten?5
Start in: 5
Bitte geben Sie die nächste Stadt ein4
Von Aachen nach Aachen
0 km.
Bitte geben Sie die nächste Stadt ein6
Von Erfurt nach Garmisch
490 km.
Bitte geben Sie die nächste Stadt ein1
Von Garmisch nach Berlin
671 km.
Bitte geben Sie die nächste Stadt ein3
Von Berlin nach Dresden
190 km.
Bitte geben Sie die nächste Stadt ein5
Von Dresden nach Flensburg
650 km.
Gesamtstrecke: 2310
Bitte geben Sie die nächste Stadt ein


Die Ausgabe sollte aber folgendermassen aussehen

Java:
Staedte: Aachen, Berlin, Chemnitz, Dresden, Erfurt, Flensburg, Garmisch, Hamburg
Moechten Sie diese Staedteliste nutzen? j/nn
Staedte: 0 Aachen, 1 Berlin, 2 Chemnitz, 3 Dresden, 4 Erfurt, 5 Flensburg, 6 Garmisch, 7 Hamburg
In welcher Stadt möchten Sie starten?5
Start in: Flensburg
Bitte geben Sie die nächste Stadt ein4
Von Aachen nach Aachen
0 km.
Bitte geben Sie die nächste Stadt ein6
Von Erfurt nach Garmisch
490 km.
Bitte geben Sie die nächste Stadt ein1
Von Garmisch nach Berlin
671 km.
Bitte geben Sie die nächste Stadt ein3
Von Berlin nach Dresden
190 km.
Bitte geben Sie die nächste Stadt ein5
Von Dresden nach Flensburg
650 km.
Gesamtstrecke: 2310

Bei "Start in:" wird die Zahl angegeben, dort sollte aber der Name stehen
Dann sollte anstatt "Von Aachen nach Aachen" "Von Erfurt nach Flensburg"
550km angezeigt werden.

Danach funktioniert alles bestens.

Bis nach Ausgabe der Gesamtstrecke wieder nach der nächsten Stadt gefragt wird, es sollte eigentlich beendet werden.

Könnte mir viellicht jemand erklären, wie es dazu kommt?

Vielen Dank
Sophie
 
G

Gast2

Gast
Dein break in Zeile 169 beendet nur die innere while schleife.
mach aus dem
Code:
while (start == naechsteStadt)
ein
Code:
if (start == naechsteStadt)
und dann sollte er aushören nachdem du die startstadt ausgewählt hast.

PS: Das ganze Schleifenzeugs sieht schon recht merkwürdig aus... die äußere while kannst du dir vermutlich auch sparen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Java zweidimensionales array befüllen mit for-schleife Java Basics - Anfänger-Themen 2
Ü Zweidimensionales Array in der ersten Zeile deklarieren Java Basics - Anfänger-Themen 13
S Prüfen ob ein zweidimensionales Array rechteckig ist Java Basics - Anfänger-Themen 4
sserio Iterierung über ein zweidimensionales Array Java Basics - Anfänger-Themen 16
sserio Zweidimensionales Array [][] wird untereinander ausgegeben Java Basics - Anfänger-Themen 14
G zweidimensionales int Array sortieren Java Basics - Anfänger-Themen 57
P Zweidimensionales Array als Tabelle mit befüllten Zahlen Java Basics - Anfänger-Themen 10
Yasemin bahar zweidimensionales Array Java Basics - Anfänger-Themen 5
O zweidimensionales array in eine csv-Datei Java Basics - Anfänger-Themen 1
K Übergabe von Werten (zweidimensionales Array) aus einer Methode an zweidimensionales Array in main() Java Basics - Anfänger-Themen 3
J zweidimensionales Array Java Basics - Anfänger-Themen 1
S Zweidimensionales Array in ein eindimensionales Array speichern Java Basics - Anfänger-Themen 6
J Zweidimensionales array kopieren und in eindimensionales überführen Java Basics - Anfänger-Themen 304
X Java zweidimensionales Array Java Basics - Anfänger-Themen 5
J Zweidimensionales Array in CSV File exportieren Java Basics - Anfänger-Themen 3
U Methoden Zweidimensionales Array mit Arrays.sort sortieren? Java Basics - Anfänger-Themen 22
F Erste Schritte zweidimensionales array Java Basics - Anfänger-Themen 2
J Erste Schritte zweidimensionales Array Muster befüllen. Java Basics - Anfänger-Themen 4
K drei eindimensionale Arrays in ein zweidimensionales Array Java Basics - Anfänger-Themen 10
K Zweidimensionales Array erstellen und zufällig mit 0 und 1 füllen Java Basics - Anfänger-Themen 11
P zweidimensionales Array anlegen und mit DB-Daten füllen Java Basics - Anfänger-Themen 14
W Erste Schritte Zweidimensionales Array - Gerade Zahlen anzeigen lassen Java Basics - Anfänger-Themen 3
L zweidimensionales char array reihenfolge ändern ? Java Basics - Anfänger-Themen 2
C ZweiDimensionales Array erstellen und Spiegeln Java Basics - Anfänger-Themen 1
H zweidimensionales array füllen Java Basics - Anfänger-Themen 6
D Zweidimensionales Array ( Java Basics - Anfänger-Themen 2
D Zweidimensionales Array (Länge) Java Basics - Anfänger-Themen 2
M Zweidimensionales Array aus Textdatei gewinnen Java Basics - Anfänger-Themen 6
M Zweidimensionales Array um 1 addieren Java Basics - Anfänger-Themen 3
B Zweidimensionales Array Elemente jeder Spalte zählen Java Basics - Anfänger-Themen 9
C Methoden Diagonalen am best. Punkt im zweidimensionales array finden Java Basics - Anfänger-Themen 3
S Zweidimensionales Array mit Diagonalen Java Basics - Anfänger-Themen 9
M Zugriffsproblem auf (zweidimensionales) Array in einer ArrayList Java Basics - Anfänger-Themen 15
C Datentypen Zweidimensionales Array mit String und int Java Basics - Anfänger-Themen 3
W Datentypen Zweidimensionales Boolean Array Java Basics - Anfänger-Themen 13
A Zweidimensionales Array Java Basics - Anfänger-Themen 3
M Zweidimensionales Array durchlaufen Java Basics - Anfänger-Themen 4
C zweidimensionales Array sortieren Java Basics - Anfänger-Themen 6
B Zweidimensionales Array durchsuchen und ändern Java Basics - Anfänger-Themen 8
J Zweidimensionales Array durch ToString ausgeben lassen Java Basics - Anfänger-Themen 21
B Zweidimensionales Array mit boolean Werten Java Basics - Anfänger-Themen 3
M Zweidimensionales Array befüllen Java Basics - Anfänger-Themen 4
C Zweidimensionales String Array initialisieren Java Basics - Anfänger-Themen 2
N zweidimensionales array größe bestimmen Java Basics - Anfänger-Themen 1
F Datentypen Zweidimensionales Array füllen Java Basics - Anfänger-Themen 6
S zweidimensionales ARRAY Java Basics - Anfänger-Themen 2
S zweidimensionales Array Java Basics - Anfänger-Themen 6
berti99 Zweidimensionales Array befüllen Java Basics - Anfänger-Themen 5
U Zweidimensionales Array mit Eindimensionalem Array Java Basics - Anfänger-Themen 7
J zweidimensionales Array einselen und ausgeben Java Basics - Anfänger-Themen 15
G Zweidimensionales Array - dynamisch Java Basics - Anfänger-Themen 4
M Zweidimensionales Array Java Basics - Anfänger-Themen 3
G zweidimensionales Array vergrößern Java Basics - Anfänger-Themen 3
M Zweidimensionales dynamisches Array füllen Java Basics - Anfänger-Themen 2
J zweidimensionales Array Java Basics - Anfänger-Themen 3
M Zweidimensionales String-Array initialisieren Java Basics - Anfänger-Themen 6
P zweidimensionales Array erstellen Java Basics - Anfänger-Themen 9
D erste spalte eines zweidimensionales Array sortieren ??!! Java Basics - Anfänger-Themen 2
N zweidimensionales 10x10 Feld erstellen Java Basics - Anfänger-Themen 3
D aus 2 arrays ein zweidimensionales formen Java Basics - Anfänger-Themen 9
R dynamisches zweidimensionales Feld erzeugen Java Basics - Anfänger-Themen 8
V Zweidimensionales Ganzzahlfeld Java Basics - Anfänger-Themen 7
T Array verkleinern Java Basics - Anfänger-Themen 2
J Array aus Numberfield Eingaben Java Basics - Anfänger-Themen 7
D Array List mit Objekten sortieren Java Basics - Anfänger-Themen 2
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
Thomas Uppe 2D Array Reihenfolge vermischen Java Basics - Anfänger-Themen 4
T array auslesen Java Basics - Anfänger-Themen 2
Nitrogames Variablen Variable aus JOptionPane Abfrage in Array einfügen Java Basics - Anfänger-Themen 4
moini Auf Array aus Superklasse zugreifen? Java Basics - Anfänger-Themen 2
J ArrayList in 2D-Array konvertieren. Java Basics - Anfänger-Themen 48
M NullPointerException: Cannot read the array length because "this.Kinder" is null Java Basics - Anfänger-Themen 1
P Wieso kann ich als Index für einen Array einen Char angeben? Java Basics - Anfänger-Themen 3
Finn_lol Fehlermeldung bei Schleife mit Array Java Basics - Anfänger-Themen 4
Proxy Chars vor array übergabe toLowerUpcase Java Basics - Anfänger-Themen 14
iAmFaiinez Primzahlen Tester ohne Array Java Basics - Anfänger-Themen 4
S array 2 dimensional treppe Java Basics - Anfänger-Themen 3
S Array 2x2 Blöcke mit 0 und 1 Java Basics - Anfänger-Themen 10
C Array von Klassen Java Basics - Anfänger-Themen 2
julian0507 2Dim-Array Spaltensummen Java Basics - Anfänger-Themen 1
XWing Doppelte Zahlen im Array Java Basics - Anfänger-Themen 8
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
W Items löschen aus String Array vom Custom Base Adapter Java Basics - Anfänger-Themen 2
Proxy Stack erweitern mit neuem Array falls der alte voll ist!? Java Basics - Anfänger-Themen 5
E Array, nächste Zahl zur 5 ausgeben, wie? Java Basics - Anfänger-Themen 42
J Array.list vergleichen Java Basics - Anfänger-Themen 1
W Java-Code mit Array Java Basics - Anfänger-Themen 14
D Reflections & Generisches Array Java Basics - Anfänger-Themen 4
T Array Java Basics - Anfänger-Themen 2
T Array Java Basics - Anfänger-Themen 15
T Wörteranzahl im Array zählen Java Basics - Anfänger-Themen 9
Ostkreuz Zweidimensionaler Array Index Java Basics - Anfänger-Themen 2
S String Array Buchstaben um einen gewissen Wert verschieben Java Basics - Anfänger-Themen 4
R Images aus einem Array ausgeben Java Basics - Anfänger-Themen 3
R 2d Array individuell machen Java Basics - Anfänger-Themen 4
D 2D Char Array into String Java Basics - Anfänger-Themen 2
J Array Median bestimmen Java Basics - Anfänger-Themen 6
S Array Maximum bestimmen mit for und foreach Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben