Gibt es da Java-Kenner die mir helfen können?

... komplette Frage anzeigen

2 Antworten

in der main:
System.out.println(array[i]);

Du gibst das Element an der Stelle i aus. da du i nie selbst initialisiert hast, wird es automatisch mit 0 initialisiert.

Somit wird ausschließlich das erste Element ausgegeben.

Zwei Möglichkeiten:
entweder du packst die Ausgabe selber in eine for schleife und gibst jedes Element nacheinander aus

oder

du benutzte die Methode Arrays.toString(array);

dann sollte das gesamte array ausgegeben werden.
dein algorithmus zum sortieren hab ich jetzt nichz geprüft.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von SirNik
09.10.2016, 16:36

und zudem rufst du deine sortier Methode auch nie auf

2
Kommentar von dodoG0097
09.10.2016, 16:36

danke erstmal ^^

kommt
die Methode Arrays.toString(array); auch in die main methode?

0
Kommentar von SirNik
09.10.2016, 16:39

Ja genau. die methode macht vom prinzip her nichts anderes, als jedes element des arrays in einen string zu speichern. diesen string musst du natürlich ausgeben: System.out.println(Arrays.toString(array)); ob ein import erforderlich sind, wird dir deine ide schon sagen. desweiteren lege ich dir ans herz, lerne die Grundlagen statt jetzt direkt mit solchen Algorithmen zu experimentieren. also bspw wie mab ei Array ausgibt und so :D viel Spaß

2
Kommentar von SirNik
09.10.2016, 16:43

array[i] gibt nur EIN Element aus dem Array aus (indemfall das erste Element, da i = 0). ein array in gesamtheit auszugeben wäre entweder die ausgabe selbst mit einer for-schleife zu realisieren oder eben Arrays.toString() zu benutzen. wenn du dich in die grundlagen reinarbeitest wirst du es verstehen. da ich hier am handy bin,kann ich die texte nicht gut formatieren, deshalb kann ichs nicht gut ausführlich erklären :D

1

Ein Fehler ist, dass du die Methode "shakerSort()" nie aufrufst, sondern in der Main-Methode nur

System.out.println(array[i]);

machst. i hast du noch keinen Wert zugewiesen, deswegen steht i auf 0 und das Programm macht das, was du als Anweisung angegeben hast - den ersten Wert des Arrays ausgeben.

Antwort bewerten Vielen Dank für Deine Bewertung