• Wir präsentieren Dir heute ein Stellenangebot für einen Frontend-Entwickler Angular / Java in Braunschweig. Hier geht es zur Jobanzeige

SelectionSort Java

T

Torsten Hals

Mitglied
Hey, ich habe aktuell folgende Aufgabe in Java:
"Durchlaufen sie eine Reihung, suchen sie das größte Element und tauschen sie dieses mit dem letzten Element. Die Reihung wird nun wieder durchlaufen (nur bis zum vorletzten Element), das größte Element gesucht und mit dem vorletzten getauscht usw."

Ich habe schon hinbekommen, dass die größte Zahl gefunden wird, jedoch klappt das Sortieren noch nicht zu 100%, da vereinzelte Zahlen nicht an der richtigen Stelle sind und ich weiß nicht warum.
Java:
public class ZweiteSortierung extends Application {
  // Anfang Attribute
  private Label lAusgabe = new Label();
  private Button bLos = new Button();
  int[] Zufallsreihung = new int[50];
 
  // Ende Attribute
 
  public void start(Stage primaryStage) {
    Pane root = new Pane();
    Scene scene = new Scene(root, 1309, 97);
    // Anfang Komponenten
    
    lAusgabe.setLayoutX(8);
    lAusgabe.setLayoutY(8);
    lAusgabe.setPrefHeight(25);
    lAusgabe.setPrefWidth(1281);
    lAusgabe.setText("Zufallsreihung");
    lAusgabe.setTextAlignment(TextAlignment.JUSTIFY);
    root.getChildren().add(lAusgabe);
    bLos.setLayoutX(8);
    bLos.setLayoutY(40);
    bLos.setPrefHeight(33);
    bLos.setPrefWidth(609);
    bLos.setOnAction(
      (event) -> {bLos_Action(event);}
    );
    bLos.setText("Los");
    root.getChildren().add(bLos);
    // Ende Komponenten
    
    primaryStage.setOnCloseRequest(e -> System.exit(0));
    primaryStage.setTitle("Zufallsreihung");
    primaryStage.setScene(scene);
    primaryStage.show();
  } // end of public Sortierung
 
  // Anfang Methoden
 
  public void zufall(){
    int zufallszahl;
    int l = Zufallsreihung.length;
    for (int i = 0; i < l; i++) {
      zufallszahl = (int)(Math.random()*99+1);
      Zufallsreihung[i] = zufallszahl;   
    }
    }
 
  public void ausgabe(int[] R){
    int l = R.length;
    String Ausgabe = "" + R[0];
    for (int i = 1; i < l; i++) {
      Ausgabe =  Ausgabe + " - " + R[i];     
    }
    lAusgabe.setText(Ausgabe);
    } 

  public int Groesste(int R[], int ende){
    int stelle = 0;
    int gzahl = R[0];
    for (int i = 0; i < ende; i++) {
      if (R[i] > gzahl) {
        gzahl = R[i];
        stelle = i;
      } // end of if
    }
    return stelle;
    }
 
  public void SelectionSort(int[] R){
    for (int i = 0; i < R.length-1; i++) {     
      int stelle = Groesste(R, R.length-i-1);
      int neueStelle = R[stelle];
      int neueLaenge = R[R.length-i-1];
      R[R.length-i-1] = neueStelle;
      R[stelle] = neueLaenge;
    }
  }

    
  public static void main(String[] args) {
    launch(args);
  } // end of main
 
  public void bLos_Action(Event evt) {
    // TODO hier Quelltext einfügen
    zufall();
    SelectionSort(Zufallsreihung);
    ausgabe(Zufallsreihung);
  } // end of bLos_Action

  // Ende Methoden
} // end of class Sortierung
Danke für die Hilfe im vorraus.
 
kneitzel

kneitzel

Top Contributor
Bei sowas würde ich immer empfehlen: Spiel es mit einem kleinen Array durch und achte auf die genauen Werte, die in den jeweiligen Variablen ist.

Also nehmen wir einfach mal das Array [ 7, 1 , 9 ] das wir sortieren wollen. Länge ist 3 .. Index ist von 0..2 ...

Dann wird SelectionSort aufgerufen (Methoden fangen in der Regel mit einem kleinen Buchstaben an, ebenso Parameter ... aber das nur ganz nebenbei).

Die Schleife i geht dann von 0 .. i < 3 -1 also i < 2 (nur 0 und 1).
i = 0:
Groesste(array, 2) wird aufgerufen:
- stelle = 0; gzahl = 7.
- Schleife i geht von 0 solange i < 2. Es wird also nur 0 und 1 geprüft (Werte 7 und 1 - die 9 wird nie geprüft!)

Somit stimmen Deine Grenzen schlicht nicht und du musst Dir genau überlegen, was welche Variable / Parameter beinhalten / entgegen nehmen soll.

Ich hoffe, ich konnte Dir aufzeigen, wie du zukünftig so ein Problem eingrenzen kannst und zum anderen welchen Fehler Dein Code enthält.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Java Selectionsort Java Basics - Anfänger-Themen 4
N SelectionSort ; Code erläutern Java Basics - Anfänger-Themen 13
A SelectionSort bringt keine konstanten Ergebnisse Java Basics - Anfänger-Themen 4
M Selectionsort Java Basics - Anfänger-Themen 5
T Methoden Selectionsort funktioniert nicht Java Basics - Anfänger-Themen 2
T Methoden selectionsort Java Basics - Anfänger-Themen 8
X Selectionsort macht Probleme Java Basics - Anfänger-Themen 2
S SelectionSort und InsertionSort Java Basics - Anfänger-Themen 1
A SelectionSort >InsertSort< Java Basics - Anfänger-Themen 4
I SelectionSort sortiert nicht richtig! Java Basics - Anfänger-Themen 2
A SelectionSort Java Basics - Anfänger-Themen 2
Alan6 Java Editor BMI Rechner Java Basics - Anfänger-Themen 4
C java.sql Statement kann nicht geschlossen werden Java Basics - Anfänger-Themen 9
A Java die richtige Programmiersprache für mein Projekt? Java Basics - Anfänger-Themen 1
P myClass?.method() in Java Java Basics - Anfänger-Themen 4
I Java String einlesen und auslesen Java Basics - Anfänger-Themen 11
Marc111111111 Selection Sort in Java?? Java Basics - Anfänger-Themen 6
NicoDeluxe Java RAM Management Java Basics - Anfänger-Themen 26
N Groß- und Kleinschreibung bei Java: void Methode Java Basics - Anfänger-Themen 1
TimoN11 Frage zu Java-Vererbung (Cast) Java Basics - Anfänger-Themen 5
T Java Fx Java Basics - Anfänger-Themen 4
J Alle .java Dateien von einem Verzeichnis in eine Zip speichern Java Basics - Anfänger-Themen 2
O Exception in thread "main" java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 4
G Java Rabatt berechnen Java Basics - Anfänger-Themen 8
MPFeuer JAVA Expert-PDF Java Basics - Anfänger-Themen 1
M Java-Applet zur Mittelwertberechnung Java Basics - Anfänger-Themen 3
Abraham42 Berechnung der Kühlung Java Java Basics - Anfänger-Themen 12
J Java Queue mit default Werten erstellen Java Basics - Anfänger-Themen 4
F Erste Schritte java.util.Scanner: Beliebig langen Text per Paste in Console eingeben ? Java Basics - Anfänger-Themen 14
S Allgemeine Java Codes lesen und verstehen Java Basics - Anfänger-Themen 7
TimoN11 Mail Programm mit Java? Java Basics - Anfänger-Themen 1
TimoN11 Java spezielle Suchprobleme - Aufgabe Java Basics - Anfänger-Themen 5
I Java-Wort einlesen und ausgeben Java Basics - Anfänger-Themen 7
H Brauche Hilfe in Java Eclipse Programmieraufgabe Neuling Java Basics - Anfänger-Themen 3
JaVaN0oB java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 17
Abraham42 Sparguthaben JAVA Java Basics - Anfänger-Themen 4
TimoN11 Java Klassen Global einbinden Java Basics - Anfänger-Themen 1
H Binominalkoeffizient tail-rekursiv in java darstellen Java Basics - Anfänger-Themen 0
H Audio in Java Java Basics - Anfänger-Themen 3
I Erklärung zum Java Code Java Basics - Anfänger-Themen 2
AlexVo String zu Java Anweisung getString("*** java code ***") Java Basics - Anfänger-Themen 19
R Java (Eclipse) "Lagerverwaltung" HILFE Java Basics - Anfänger-Themen 13
TimoN11 Java - Eine oder mehrere Eingaben möglich machen Java Basics - Anfänger-Themen 6
M Rekursive Java-Methode Java Basics - Anfänger-Themen 13
M Java Spiel wie Wer wird Millionär Java Basics - Anfänger-Themen 1
bafou Dreieckszahlen in java Java Basics - Anfänger-Themen 3
P Best Practice Druck aus Java Anwendung in MacOs Java Basics - Anfänger-Themen 0
G Java 2-dimensionalen int-Array Summe Java Basics - Anfänger-Themen 2
B java.time Duration mit Kommazahl? Java Basics - Anfänger-Themen 4
Devin Wo kann man einen Java Lehrplan finden? Java Basics - Anfänger-Themen 5
KogoroMori21 Java Datum Differenz (kleiner Fehler) Java Basics - Anfänger-Themen 10
O Java Weinachtsbaum in einem Bilderramen Java Basics - Anfänger-Themen 5
F Java Programm, das kleine Buchstaben in einem String zählen soll und bei großen Buchstaben oder Sonderzeichen abbrechen soll. Java Basics - Anfänger-Themen 5
Gaudimagspam Dringend Java Hilfe benötigt Java Basics - Anfänger-Themen 19
M Java Kompilieren über Package grenzen hinaus Java Basics - Anfänger-Themen 4
N java.util.InputMismatchException Fehler Java Scanner Java Basics - Anfänger-Themen 1
Gaudimagspam BMI in Java implementieren Java Basics - Anfänger-Themen 38
C Was ist nötig für ein Java-Programm auf Server für Website Java Basics - Anfänger-Themen 18
F Fehlermeldung java.lang.NullPointerException Java Basics - Anfänger-Themen 4
S Sprung mit Java (GameGrid) Java Basics - Anfänger-Themen 9
Devin Wie lange braucht man um Java zu beherrschen und wie kann man es am schnellsten erlernen? Java Basics - Anfänger-Themen 7
G Java Klassen und Instanzmethoden Java Basics - Anfänger-Themen 15
Zrebna Frage zum "Referenzen-konzept" in Java Java Basics - Anfänger-Themen 8
C java.util Timer läuft zu langsam? Java Basics - Anfänger-Themen 1
T Klassendiagramm in Java überführen Java Basics - Anfänger-Themen 2
Gaudimagspam Caesars Code entziffern in Java Java Basics - Anfänger-Themen 8
V Gehalt berechnen in Java Java Basics - Anfänger-Themen 6
java3690 Java- liste füllen ud die werte addieren Java Basics - Anfänger-Themen 13
justemii Gehalt berechnen - Aufgabe Java-Programm Java Basics - Anfänger-Themen 9
P Mit iPad Java lernen Java Basics - Anfänger-Themen 15
W Java in Exe Datei umgewandelt, Ressourcen fehlen (Bilder und Audiodateien) Java Basics - Anfänger-Themen 1
N Best Practice How can I creat a programm with java under windows 10 in order to open an spreadsheet in libreoffice calc format Java Basics - Anfänger-Themen 11
T Start-Activity für Java Maven Web-Anwendung festlegen Java Basics - Anfänger-Themen 2
J Java FX - Label aktualisieren Java Basics - Anfänger-Themen 1
A Hilfe bei Java Projekt Java Basics - Anfänger-Themen 4
G Java Bruchrechner Addition, Multiplikation... Java Basics - Anfänger-Themen 12
M Java Einstellung von Apache POI für MS Word Erstellung mit Eclipse Java Basics - Anfänger-Themen 6
B Exception in thread "AWT-EventQueue-0" java.util.ConcurrentModificationException Java Basics - Anfänger-Themen 8
T Java Swing - Dreieck zeichnen mit verschiedenen Variablen Java Basics - Anfänger-Themen 8
P Wie für EIN Java Programm von 64bit Java (=Standard) auf 32bit Java Installation (Windows) umschalten? Java Basics - Anfänger-Themen 6
C Suche Nachhilfe in Java Java Basics - Anfänger-Themen 5
B java.io.OutputStream zu java.io.InputStream konvertieren Java Basics - Anfänger-Themen 18
A Scanner Befehl Java Anfänger Java Basics - Anfänger-Themen 8
M Java entity und wertklassen Java Basics - Anfänger-Themen 2
G Java Vererbung Java Basics - Anfänger-Themen 8
M Java Klasse Object Java Basics - Anfänger-Themen 5
M Java GUI label ändert sich erst zum Schluss Java Basics - Anfänger-Themen 4
G Java Lambda Ausdrücke Java Basics - Anfänger-Themen 19
M Java GUI explorer aufrufen um Pfad zu bekommen Java Basics - Anfänger-Themen 3
M Java Anweisungen Java Basics - Anfänger-Themen 4
M Java 8 Lambda Expression Java Basics - Anfänger-Themen 1
S Java Array Probleme Java Basics - Anfänger-Themen 3
Mr_Kleeblatt Operatoren if (arri[i] != "test.java"&& arri[i] != "test.class") Java Basics - Anfänger-Themen 3
S Java Stream API Java Basics - Anfänger-Themen 6
S Java Array Problem... Java Basics - Anfänger-Themen 2
M Java Listen Java Basics - Anfänger-Themen 4
G Java Object value und entity? Java Basics - Anfänger-Themen 2
X Kurzes Java-Programm, das sich komisch verhält Java Basics - Anfänger-Themen 6
_Zabuza_ Erste Schritte Wie am effektivsten Java lernen als Anfänger? Java Basics - Anfänger-Themen 12
G Java Dateisystem Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Anzeige

Neue Themen


Oben