Array sortieren

Neue Frage »

Auf diesen Beitrag antworten »
Mike04 Array sortieren

Meine Frage:
Hey Leute,

ich soll eine Aufgabe so programmieren, dass ein unsortiertes Array am Ende der Größe nach sortiert ausgegeben wird. Ich finde aber meinen Fehler nicht und brauche dringend Eure Hilfe :-)

Vielen Dank

Meine Ideen:
Mein Code:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
public class BubbleSort 
{
	public static void main (String[]args)
	{
		int [] werte = {2,1,7,6};
		for (int i=0; i<werte.length;i++)
		{
			for (int j=0; j<i;j++)
			{
				if (werte [j] > werte [j+1]) // Wenn 2 größer 1  
				{
					System.out.println(werte[j]);
				}	
				else
				{
					int speicher;
					speicher = j;
					werte [j] = werte [j+1];
					werte[j+1] = speicher;
				}
			}
		}
	}
}
 
Auf diesen Beitrag antworten »
eulerscheZahl

Du musst in der inneren Schleife auch über das ganze Array iterieren. Und bei der Vertauschung hast du nicht sauber gearbeitet.

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
public static void main(String[] args) {
	int[] werte = { 8, 2, 1, 7, 6 };
	for (int i = 0; i < werte.length; i++) {
		for (int j = 0; j < werte.length - 1; j++) {
			if (werte[j] > werte[j + 1]) // Wenn 2 größer 1
			{
				int speicher;
				speicher = werte[j];// j;
				werte[j] = werte[j + 1];
				werte[j + 1] = speicher;
			}
		}
	}
	System.out.println(Arrays.toString(werte));
}
Auf diesen Beitrag antworten »
Mike04

Besten Dank, aber die letzte Zeile ist mir unklar.

Wo ziehst du das Array.toString her?
Auf diesen Beitrag antworten »
eulerscheZahl

Das gibt einfach das Array aus.
Benötigt import java.util.Arrays;.
Und es heißt Arrays.toString().
 
Auf diesen Beitrag antworten »
Mike04

Mich wundert es nur, weil mir da ein Fehler angezeigt wird?

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
public class BubbleSort
{
	public static void main(String[] args) 
	{
		int[] werte = { 8, 2, 1, 7, 6 };
		for (int i = 0; i < werte.length; i++) {
			for (int j = 0; j < werte.length - 1; j++) {
				if (werte[j] > werte[j + 1])
				{
					int speicher;
					speicher = werte[j];// j;
					werte[j] = werte[j + 1];
					werte[j + 1] = speicher;
				}
			}
		}
	System.out.println(Arrays.toString(werte));
	}
}
Auf diesen Beitrag antworten »
eulerscheZahl

Hast du das import berücksichtigt?
Auf diesen Beitrag antworten »
Mike04

Sorry, mein Fehler. Hat sich erledigt :-)

Danke für die Hilfe ;-)
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »