Java Bubblesort Algorithmus funktioniert nicht , was tun?
Ich habe mit BlueJ einen Bubblesort-Algorithmus pogrammiert, damit Schüler nach dem Alphabet zu sortieren. Jetzt funktioniert bei mir aber die Methode compareToIgnoreCase nicht. hat jemand vielleicht eine Idee was man Importieren oder sonst wie tun muss,damit es funktioniert? Weiter unten seht ihr das, was ich schon geschrieben habe.
PS: Ich habe erst in diesem Schuljahr mit dem Programmieren in Java angefangen und deshalb noch keine - bis sehr wenig Ahnung von dem was ich tue, also wenn ihr was erklärt, dann bitte ausführlich und nicht gerde mit hunderten von Fachbegriffen ;D
vielen Dank schonmal im Voraus für die Hilfe

3 Antworten
import java.lang.*;
public class Klasse{
Schueler[]schuelerliste;
Lehrer[]lehrerliste;
int maxAnzahlSchueler;
int aktuelleAnzahlSchueler;
int maxAnzahlLehrer;
int aktuelleAnzahlLehrer;
int raum;
public Klasse (int raum,int maxAnzahlSchueler, int aktuelleAnzahlSchueler, int maxAnzahlLehrer, int aktuelleAnzahlLehrer)
{
this.maxAnzahlSchueler=maxAnzahlSchueler;
this.maxAnzahlLehrer=maxAnzahlLehrer;
schuelerliste= new Schueler[maxAnzahlSchueler];
this.raum=raum;
lehrerliste=new Lehrer[maxAnzahlLehrer];
}
public void fuegeSchueler (Schueler schueler)
{schuelerliste[aktuelleAnzahlSchueler]= schueler;
aktuelleAnzahlSchueler++;
}
public void fuegeLehrer (Lehrer lehrer)
{lehrerliste[aktuelleAnzahlLehrer]= lehrer;
aktuelleAnzahlLehrer++;
}
public static void sortStringBubble( Schueler[] schuelerliste)
{
int j;
boolean flag = true; // Variable die nur wahr oder falsch sein kann
String temp;
while ( flag )
{
flag = false;
for ( j = 0; j < schuelerliste.length - 1; j++ )
{
if ( schuelerliste[j].compareToIgnoreCase(schuelerliste[j+1] ) > 0 )
{ // Abfrage ob die Variable größer ist als die andere
temp = schuelerliste [ j ];
schuelerliste [ j ] = schuelerliste [ j+1]; // Tauschen der Felder
schuelerliste [ j+1] = temp;
flag = true;
}
}
}
}
}
hier ist nochmal der eigentliche Programmcode ;D also das, was man auf dem Bild sehen sollte
Vielen vielen Dank das Programm funktioniert jetzt du hast mir echt weitergeholfen ;D
Das Bild ist leider unleserlich. Wäre gut wenn du bisschen ranzoomdn könntest. Außerdem ist es hilfreich wenn du den Fehlercode zeigst.
Den Text in deinem Bild kann man nicht lesen.
Steht auf dem Bildschirm "Methode compareToIgnoreCase funktioniert nicht" oder gibt es eine genauere Fehlerbeschreibung?
genau genommen steht da cannot find symbol- method compareToIgnoreCase(Schueler) kann ich das Bild in der Frage noch verändern? wenn ja wie ich benutze nämlich gutefrage.net noch zum ersten mal
Nein, du kannst keine Bilder nachträglich ändern. Du kannst aber die Codeformatierung in der Symbolleiste verwenden.
Wie der Befehl aufgerufen werden muss, kann du leicht googeln. Beispiel: http://www.tutorialspoint.com/java/java_string_comparetoignorecase.htm
Die Schülerlistenelemente sind nicht vom Typ String, sondern vom Typ Schüler. Du musst nicht Schülerliste[j] vergleichen, sondern wahrscheinlich so etwas wie Schülerliste[j].Name