Mein Bubblesort sortiert mein Array nicht

Nenisl

Neues Mitglied
Moin, ganz fixe Frage. Erkennt jemand wieso mein Array nach dem Bubblesort nicht sortiert ausgegeben wird?

Java:
import java.util.*;

public class Aufgabe4 {

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		
		//Array erstellen
		System.out.println("Bitte geben Sie eine Zahl der gewünschten Array-Länge an.");
		int array1 = s.nextInt();
		int[] array = new int[array1];
	
		//Array füllen
		for (int i = 0; i < array.length; i++) {
			array[i] = (int) ((Math.random()*array1)+1);
		}
		
		//Elemente wiedergeben
		for (int i = 0; i < array.length; i++) {
			System.out.println(array[i]);
		}
		
		//Bubblesort
		int temp;
		boolean sortiert = false;
		
		while(sortiert = false){
			sortiert = true;
			
			for (int i = 0; i < array.length; i++) {
				if (array[i] > array[i+1]){
					temp = array[i+1];
					array[i+1] = array[i];
					array[i] = temp;
					sortiert = false;
				}
			}	
		}
		
		for (int i = 0; i < array.length; i++) {
			System.out.println(array[i]);
		}
	}

}
 
Was sofort ins Auge fällt:
Java:
while(sortiert = false){
Vergleiche werden mit == gemacht. Das was da steht ist eine Zuweisung. Der daraus resultierende Ausdruck ist immer false, wodurch der Inhalt der While-Schleife nie aufgerufen wird.
 
Zuletzt bearbeitet:

Zurück
Oben