hausaufgabe

Hatice Yildirim

Grünschnabel
halloo :)
kann mir jmdn sagen wie ich meine main Methode:
public static void main(String[] args) {
Java:
		int[] liste = {8, 3, 7, 1, 5, 4, 6, 2};
		sortiere(liste);
		for (int i = 0; i < liste.length; i++)
		System.out.print(liste[i]+ " ");
so hinkriege, sodass mir nur:
Java:
                int[] liste = {8, 3, 7, 1, 5, 4, 6, 2};
		sortiere(liste);
ausgegeben wird?! und der rest, also
Code:
for (int i = 0; i < liste.length; i++)
		System.out.print(liste[i]+ " ");

hiiiierrrrr mit eingegliedert und ausgegeben wird**** :
Java:
               	public static void sortiere(int[] x) {
		boolean unsortiert = true;
		
		
		while (unsortiert) {
			unsortiert = false;
			for (int i=0; i < x.length-1; i++)
				if (x[i] > x[i+1]) {
					temp = x[i];
					x[i] = x[i+1];
					x[i+1] = temp;
					unsortiert = true;
					
					
				}
			
		}
		
	}

ich komm einfach nicht drauf -.-
danke
 
Zuletzt bearbeitet von einem Moderator:
Hi und herzlich Willkommen hier bei tutorials.de :)

Zuerstmal: Dies ist der falsche Bereich für deine Frage, hier werden keine Fragen gestellt / beantwortet, dieser Bereich ist nur für Tutorialeinreichungen vorgesehen.

Ausserdem bitte ich dich, das nächste mal deine Codeauschnitte in [code=java]....[/code] zu schreiben, so ist das ganze viel leichter zu lesen:

Java:
public static void main(String[] args) {
	int[] liste = {8, 3, 7, 1, 5, 4, 6, 2};
	sortiere(liste);
	for (int i = 0; i < liste.length; i++)
		System.out.print(liste[i]+ " ");
}

public static void sortiere(int[] x) {
	boolean unsortiert = true;

	while (unsortiert) {
		unsortiert = false;
		for (int i=0; i < x.length-1; i++) {
			if (x[i] > x[i+1]) {
				temp = x[i];
				x[i] = x[i+1];
				x[i+1] = temp;
				unsortiert = true;
			}
		}
	}
}

Was willst du jetzt genau erreichen? Verstehe deine Frage nicht ganz...

Gruß,
BK
 
Zuletzt bearbeitet:
ohhhh tut mir leid, bin ganz neu hier :)) vielen dank für die Anmerkung :)

alsoooo ich möchte gerne, dass wenn ich x-beliebige Vektoren in meine main-methode eingib, mir das ganze aufsteigend sortiert wird.

hab das ganze jetzt (siehe oben) nur so hinkriegen können. ich finde aber, dass meine main-methode ziemlich
komisch ausschaut wenn da

Java:
for (int i = 0; i < liste.length; i++)
System.out.print(liste[i]+ " ");

auch noch mit dring steht.

nun will ich nur den teil (wenn möglich) iwie nach unten ziehen?!! ist das überhaupt möglich?!
bin noch Anfängerin :)
 
Hi,
also ich versteh deine Frage auch noch nicht so ganz, tut mir leid. Was genau willst du nach unten ziehen?

Außerdem, warum willst du das Rad neu erfinden, wenn es schon erfunden wurde? Mit der Klasse 'Arrays' kannst du ein Array einfach sortieren lassen.
Java:
	public static void main(String[] args) {
	    int[] liste = {8, 3, 7, 1, 5, 4, 6, 2};
	    Arrays.sort(liste);
	    for (int i = 0; i < liste.length; i++)
	        System.out.print(liste[i]+ " ");
	}

Gruß

Fabio
 
Jo, Profis würden es ähnlich wie Fabio Hellmann umsetzen. Allerdings musst du das Sortieren für deine Aufgabenstellung auslagern und die Ausgabe in der Funktion einbinden.
 
Ich habe jetzt selber mal eine Sortier-Methode geschrieben. Wenn du deine Methode so umschreibst, dass du zwei for-Schleifen hast, kannst du die Ausgabe auch mit in die Sortier-Methode einbinden.

Hier ist mein Code:
Java:
	public static void sort(int[] array) {
		int temp = -1;
		int lowestValue = Integer.MAX_VALUE;
		int lowestValuePos = -1;
		for(int j = 0; j < array.length; j++) {
			for(int i = j; i < array.length; i++) {
				if(lowestValue > array[i]) {
					lowestValue = array[i];
					lowestValuePos = i;
				}
			}
			temp = array[j];
			array[j] = lowestValue;
			array[lowestValuePos] = temp;
			System.out.print(array[j] + " ");
			lowestValue = Integer.MAX_VALUE;
		}
		System.out.println();
	}

Gruß

Fabio
 
Zuletzt bearbeitet:
Zurück