verschachtelte Schleife

Joptionpane

Aktives Mitglied
Hallo an alle,

bin grad bissle am üben und hänge an einem Code.

Will eine verschachtelte for-Schleife errichten, damit alle benachbarten Zahlen in einem Array aufgelistet werden.

Der erste Durchlauf funktioniert einwandfrei. Da wird dann ausgegeben:

1: 2 5 3 3

Was ja auch stimmt, danach aber kommt ein ArrayIndexOutOfBoundsException.

Könnt mir jemand sagen wo der Fehler ist, bzw wie ich den beheben kann.
Die Ausgabe sollte in diesem Beispiel so aussehen:

1: 2 5 3 3
2: 2
3: 1
4: 1
5: 5 5 1

Danke im vorraus :)
Java:
public static void main(String[] args) {

		int[] graph = { 1, 2, 2, 4, 1, 5, 5, 5, 1, 3, 1, 3 };

		int m = max(graph);

		for (int i = 1; i <= m; i++) {

			System.out.print("\n");
			System.out.print(i + ": ");

			for (int j = 0; i < graph.length; j ++) {
				if (graph[j] == i) {
					System.out.print(" " + graph[j+1]);

				}
			}

		}

	}



	public static int max(int[] x) {

		int max = x[0];
		for (int i = 0; i < x.length; i++) {

			if (x[i] > max) {

				max = x[i];
			}

		}
		return max;

	}

}
 

njans

Top Contributor
Java:
for (int j = 0; i < graph.length; j ++) {
Warum schreibst du da plötzlich i < graph.length ?
Das kann ja nur Probleme geben ;)
 
N

nillehammer

Gast
Ich halte von verschachtelten Schleifen überhaupt nichts und weigere mich deswegen auch regelmäßig, sie zu debuggen. Lagere sie alle in einzelne Methoden mit geeigneten Return-Werten und Parametern aus! Punkt!

Aber vielleicht könnte hier die Ursache sein:
Java:
for (int j = 0; i < graph.length; j ++) {
Du iterierst hier mit j, Fragst bei der Abbruchbedingung aber i ab.
 

Joptionpane

Aktives Mitglied
Ohhh. Ups :D

Danke für den Hinweis, jetzt gehts "bissle" weiter, neue Ausgabe:

1: 2 5 3 3
2: 2 4
3: 1Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 12


findest noch ein Fehler? :)

Gruß und danke.
 

Joptionpane

Aktives Mitglied
Tut mir leid wegs dem Doppelpost jetzt, hab aber glaub den Fehler.

Da, wenn es bei 3 ist, die Schleif abläuft, findet es kein nachbarn von der 3 an der letzten Stelle.
Wenn ich ihn mit ner 0 hinten ergänze funktioniert alles einwandfrei(unter der Bedingung das 0 nicht irgendwo anders im Array auftaucht.
Kann man dies umgehen? Also das ich nicht extra eine 0 hinten einfügen muss?
 

Joptionpane

Aktives Mitglied
Vielen Dank an euch, jetzt passt alles, hatte versehentlich i in der j-Schleife und hätte den letzten Wert des Arrays nicht betrachten müssen.
Jetzt stimmt hoffe ich meine Adjazenzliste (zumindest stimmt das Ergebniss) oder hat jemand Verbesserungsvorschläge zu dem? :)

Grüße und Danke


Java:
public class Adjazentsliste {

	int anzahlKnoten;
	int[] kanten;

	public Adjazentsliste(int anzahlKnoten, int[] kanten) {
		this.anzahlKnoten = anzahlKnoten;
		this.kanten = kanten;
	}

	public String toString() {
		StringBuilder sb = new StringBuilder();
		
		for (int i = 1; i <= anzahlKnoten; i++) {
			
			sb.append("\n");			
			sb.append(i + ": ");

			for (int j = 0; j < kanten.length - 1; j++) {
				if (kanten[j] == i) {
					sb.append(" " + kanten[j + 1]);
				}
			}
		}
		return sb.toString();

	}

	public static void main(String[] args) {

		int[] graph = { 3,5,1,2,2,4,1,5,3,2,5,4,1,2,1,4 };

		int max = graph[0];
		for (int i = 0; i < graph.length; i++) {

			if (graph[i] > max) {

				max = graph[i];
			}

		}
		Adjazentsliste adjazentsliste = new Adjazentsliste(max, graph);

		System.out.println(adjazentsliste);
	}

}
 

Joptionpane

Aktives Mitglied
Noch ne kurze Frage(tut mir leid wegs Doppelpost),

wie kann ich hier Konstruktoren so einbauen, dass sie auf Adjazenzmatrix/Indizesmatrix bzw auf dieKantenmatrix weiterleitet?


würden diese 2 Konstruktoren für die Adjazenzliste passen? Wie würde sie für die Indizesmatrix aussehen. Mir fällt dazu grad nix ein.

Grüße

Java:
public Adjazenzliste(Kantenmatrix km) {
		this.anzahlKnoten = km.getAnzahlKnoten();

		int[][] kmMatrix = km.getMatrix();
		matrix = new int[anzahlKnoten][anzahlKnoten];
		for (int i = 0; i < kmMatrix.length; i++)
			(matrix[kmMatrix[i][0]][kmMatrix[i][1]])++;
	}


Java:
	public Adjazenzliste(Adjazenzmatrix a) {
		anzahlKnoten = a.getAnzahlKnoten();
		matrix = new int[anzahlKnoten][2];
		int[][] neueMatrix = a.getMatrix();
		int zähler = 0;
		for (int i = 0; i < anzahlKnoten; i++) {
			for (int j = 0; j < anzahlKnoten; j++) {
				for (int k = 0; k < neueMatrix[i][j]; k++) {
					matrix[zähler][0] = i;
					matrix[zähler][1] = j;
					zähler++;
				}
			}
		}
	}
 

sugar

Neues Mitglied
ich habe ebenfalls ein solches Problem und weiß absolut nicht weiter...... es geht dabei um ein 2 dimensionales Array das irgendwie übergeben wird und ich will nun alle alle Felder die vorhanden sind initialisieren....ich hab als Anfänger versucht das folgendermaßen zu lösen:

public void ...... {
int i;
int k;
for (i = 0; i < field.length; i++) {
for (k = 0; k < field.length-2 ; k++) {

field = new field[k];

}
}
}

mir wird die Fehlermeldung herausgegeben: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0

mit der Bemerkung, dass der Fehler an der stelle mit dem k sein muss...aber egal was ich versuche....
field.length-1 oder <= setzen und so....nichts hilft.....

wo liegt mein Denkfehler.....Wie verbessere ich das Programm, damit es läuft..

mir ist klar, dass ich iwi das Array abfrage an einer stelle, an der es eigentlich nicht mehr vorhanden ist....aber ich hab keine Ahnung, wie ich das berichtige.....

verzweiflung macht sich breit....brauch das am Besten heute noch ???:L;:)bahnhof:
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Verschachtelte for-Schleife Java Basics - Anfänger-Themen 2
laxla123 Verschachtelte If-Else Schleife Java Basics - Anfänger-Themen 21
S Verschachtelte Schleife Java Basics - Anfänger-Themen 3
Y Verschachtelte For-Schleife Java Basics - Anfänger-Themen 5
S verschachtelte for-Schleife Java Basics - Anfänger-Themen 6
P Verschachtelte Schleife vorzeitig abbrechen. Java Basics - Anfänger-Themen 50
S verschachtelte for Schleife und Ergebniss. Java Basics - Anfänger-Themen 3
C Verschachtelte For-Schleife Java Basics - Anfänger-Themen 6
J Verschachtelte for schleife mit dynamischer Anzahl an Schleifen Java Basics - Anfänger-Themen 10
J Verschachtelte for-Schleife mit Löschen von Iterationen. Wie über Iterator abbilden? Java Basics - Anfänger-Themen 6
W verschachtelte while schleife Java Basics - Anfänger-Themen 8
W verschachtelte For-Schleife - continue Java Basics - Anfänger-Themen 8
R Verschachtelte Schleife? Java Basics - Anfänger-Themen 6
W Verschachtelte If-else --> finde meinen Fehler nicht Java Basics - Anfänger-Themen 30
Düsseldorf2002 Datentypen Verschachtelte LinkedList Java Basics - Anfänger-Themen 5
J Verschachtelte Methoden Java Basics - Anfänger-Themen 9
P Verschachtelte Hashmap Java Basics - Anfänger-Themen 6
P Verschachtelte Array Liste Java Basics - Anfänger-Themen 2
B Verschachtelte For Schleifen Java Basics - Anfänger-Themen 8
W Verschachtelte Objekte wieder auspacken Java Basics - Anfänger-Themen 3
F Methoden Verschachtelte if else Methode Java Basics - Anfänger-Themen 10
Z Verschachtelte If-Bedingung Java Basics - Anfänger-Themen 6
D verschachtelte Schleifen Java Basics - Anfänger-Themen 6
M Verschachtelte Forschleifen Java Basics - Anfänger-Themen 2
F Klassen Zugriff auf verschachtelte Objekte Java Basics - Anfänger-Themen 11
J static verschachtelte Klassen und innere Klassen Java Basics - Anfänger-Themen 1
TheMenox Verschachtelte If Bedingung Java Basics - Anfänger-Themen 4
R Verschachtelte Arraylist und deren Größe auslesen Java Basics - Anfänger-Themen 7
C Verschachtelte Map auslesen Java Basics - Anfänger-Themen 4
H Best Practice Wie mit break verschachtelte Schleifen komplett verlassen? Java Basics - Anfänger-Themen 2
F Verschachtelte Schleifen Java Basics - Anfänger-Themen 4
J Hilfe verschachtelte Schleifen Java Basics - Anfänger-Themen 5
F Erste Schritte Switch case vs. Verschachtelte If Anweisung Java Basics - Anfänger-Themen 11
G Collections verschachtelte ArrayList abfüllen Java Basics - Anfänger-Themen 5
X verschachtelte suche Java Basics - Anfänger-Themen 8
S Verschachtelte Exceptions - Übersicht verbessern Java Basics - Anfänger-Themen 2
D Verschachtelte Objekterzeugung Java Basics - Anfänger-Themen 6
X Verschachtelte Annotationen Java Basics - Anfänger-Themen 9
J verschachtelte for-schleifen Java Basics - Anfänger-Themen 2
S Verschachtelte Klassen Java Basics - Anfänger-Themen 12
D Verschachtelte IF-Anweisung Java Basics - Anfänger-Themen 10
C Verschachtelte for-schleifen Java Basics - Anfänger-Themen 10
C Verschachtelte For-Schleifen Java Basics - Anfänger-Themen 5
3 Verschachtelte Zuweisung Java Basics - Anfänger-Themen 4
M Tief verschachtelte Packages Java Basics - Anfänger-Themen 7
T add-Methode für verschachtelte ArrayLists Java Basics - Anfänger-Themen 10
E Verschachtelte If-Anweisungen - "else without if" Java Basics - Anfänger-Themen 4
T Datentypen Verschachtelte Map durchlaufen Java Basics - Anfänger-Themen 4
P Verschachtelte For-Schleifen Java Basics - Anfänger-Themen 4
F Verschachtelte Arrays kopieren und überschreiben Java Basics - Anfänger-Themen 4
M Verschachtelte Strukturen. Java Basics - Anfänger-Themen 7
M Viele verschachtelte Schleifen Java Basics - Anfänger-Themen 14
A Verschachtelte Hashtable ausgeben. Java Basics - Anfänger-Themen 3
G Verschachtelte Case Fallunterscheidung Java Basics - Anfänger-Themen 7
M sehr weit verschachtelte XML-datei mit jdom auslesen Java Basics - Anfänger-Themen 4
S verschachtelte while Schleifen Java Basics - Anfänger-Themen 5
R Bedingte Opeatoren / Verschachtelte Operatoren Java Basics - Anfänger-Themen 4
M While-Schleife mit Wartezeit Java Basics - Anfänger-Themen 15
T Ich brauche eine Schleife die eine beliebige Zahl so lange durch 10 teilt bis zur Null Java Basics - Anfänger-Themen 5
DrahtEck Schleife soll wieder da anfangen wo ich es möchte ! Java Basics - Anfänger-Themen 17
Finn_lol Fehlermeldung bei Schleife mit Array Java Basics - Anfänger-Themen 4
Ranger229 Endless loop in while Schleife Java Basics - Anfänger-Themen 3
MaZ Quadrat Schleife(Pyramide) Java Basics - Anfänger-Themen 9
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
P Wie kann diese Schleife beenden Java Basics - Anfänger-Themen 1
T float soll durch schleife die größte mögliche Zahl herausfinden, Ausgabe ist aber "Infinity" Java Basics - Anfänger-Themen 1
T Variable in Schleife deklarieren, Speicherplatz, Garbage Collector Java Basics - Anfänger-Themen 10
Ostkreuz While Schleife neustarten Java Basics - Anfänger-Themen 20
M Problem bei verschachtelter for-Schleife bei zweidimensionalen Arrays Java Basics - Anfänger-Themen 3
S Erste Schritte do-while Schleife Münzwurf Java Basics - Anfänger-Themen 1
S while Schleife Taschenrechner Java Basics - Anfänger-Themen 1
P Best Practice While loop schleife Java Basics - Anfänger-Themen 5
ohneInformatik; For Schleife. Was macht dieser Code?? Java Basics - Anfänger-Themen 5
I For Schleife Summe berechnen Java Basics - Anfänger-Themen 13
A Erste Schritte Aufgabe mit while Schleife Java Basics - Anfänger-Themen 11
R do while Schleife Verständnisfrage Java Basics - Anfänger-Themen 2
Say Fehlenden Code finden in einer while-Schleife? Java Basics - Anfänger-Themen 11
N Warum Springt iterator nur in der Schleife weiter Java Basics - Anfänger-Themen 9
J for Schleife kleinste Zufallszahl finden Java Basics - Anfänger-Themen 25
A Return in While Schleife Java Basics - Anfänger-Themen 6
M Erste Schritte While Schleife / Ausgabe von buchstabe & ASCII Wert Java Basics - Anfänger-Themen 4
J do..while Schleife Java Basics - Anfänger-Themen 14
J Java To String Methode, Array mit For-Schleife Java Basics - Anfänger-Themen 2
S Textausgabe in einer For-Schleife Java Basics - Anfänger-Themen 12
B Automatisierte Ausgabe (Schleife, If-Abfrage?) Java Basics - Anfänger-Themen 24
C 2D Array Ausgabe mit for-Schleife i,j Java Basics - Anfänger-Themen 4
T Mit jedem Wert in der for-Schleife weiter arbeiten Java Basics - Anfänger-Themen 3
berserkerdq2 Warum muss man manchmal in der RUnmethode sleep in eine schleife tun? Java Basics - Anfänger-Themen 9
F for-Schleife halbiert Durchläufe ungewollt Java Basics - Anfänger-Themen 6
ravenz Schleife mit for über String Array „zahlen“und prüfen ob Wert „a“ oder „b“ oder „c“ entspricht (mittels || ) Java Basics - Anfänger-Themen 4
Bugs Bunny Fehlerhafte Berechnung beim erneuten Durchlaufen der Schleife Java Basics - Anfänger-Themen 5
J Methoden iterator for-schleife (hasNext() ) Java Basics - Anfänger-Themen 7
S Was macht ++ ohne Schleife? Java Basics - Anfänger-Themen 4
LFB In einer For-Schleife alles in einer Zeile ausgeben Java Basics - Anfänger-Themen 14
Neuling47 for schleife Java Basics - Anfänger-Themen 6
M Variable in einer Schleife initialisieren Java Basics - Anfänger-Themen 46
B Zuweisungen und Methodenaufrufe in Bedingung der while Schleife? Java Basics - Anfänger-Themen 2
JavaBeginner22 Würfeln bis 6 while Schleife Java Basics - Anfänger-Themen 13
D EinMalEins mithilfe einer for-Schleife und Array Java Basics - Anfänger-Themen 1
xanxk Problem For-Schleife mit Charakter Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben