Methoden Insert Sort Fehler

Forron

Mitglied
Hallo ich muss für meine Ausbildung einen Insert Sort schreiben finde den fehler aber nicht. Es ist sehr wichtig.

Der Fehler lauted: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException:-1
at Insert.main(Insert.java:22)


Java:
public class Insert {

  public static void main(String[] args) {
    int element ;
    int i;
    int j;
    int[]z = {5,3,1,2,-1,-1};
    
    for(i = 1; i <z.length; i++)
    {
      element = z[i];
      for(j=i-1; j>=0; j--);
      {
       if(z[j]>element)
       {
         z[j+1]=z[j];
       }
       else
       break;
      }
      z[j+1]=element;
    }
    
    do
    {
    i = 0;
    System.out.println (z[i]);
    i = i + 1;



    } while
    (i < 6);
 
Zuletzt bearbeitet:

codechaos

Mitglied
Das Semikolon in Zeile 12 muss weg, dann wird das Array auch richtig sortiert. Der andere Fehler steckt in deiner Ausgabe. Du könntest das Array entweder so ausgeben:
Java:
System.out.println(Arrays.toString(z));
oder zum Beispiel so:
Java:
for(int currentNumber : z) {
	System.out.print(currentNumber + " ");
}

Die komplette Methode würde dann so aussehen:
Java:
	public static void main(String[] args) {
		int element, i, j;
		int[]z = {5,3,1,2,-1,-1};

		for(i = 1; i <z.length; i++){
			element = z[i];
			for(j=i-1; j>=0; j--){
				if(z[j]>element){
					z[j+1]=z[j];
				}
				else {
					break;
				}
			}
			z[j+1]=element;
		}
		System.out.println(Arrays.toString(z));
	}
 

Forron

Mitglied
Dankeschön dieses problem ist gelöst aber ich soll noch einem benuzer dei möglichkeit geben dass er eine zahl eingibt und diese nach der sortierung an die stelle eines der beiden -1 werte gesezt wird.
 

Forron

Mitglied
So ich hab jetzt alle durchprobiert aber es funktioniert nicht. Wo ist denn jetzt mein Fehler?
Und zwar soll ich jetzt die vom Benutzer angegebene Zahl in dem Array an der richtigen Stelle eingefügt werden aber und durch ein -1 wert ersetzt werden.



An dieser stelle verzweifel ich:
Java:
  j = 0;
    i = 0;
    
    for(j=i-1; j>=0; j--)
      {
       if(z[i]> eingabe)
       {
         temp = z[i];
         z[i] = eingabe;
       }
       else
       break;
      }

und das ist der komplette Quelltext:
Java:
import java.util.*;

public class Insert {

  public static void main(String[] args) {
    int element ;
    int temp;
    int i;
    int j;
    int[]z = {5,3,1,2,8,4,7,6,-1,9,-1};
    int eingabe;

    System.out.println ("Bitte geben sie eine positive und ganze Zahl ein.");
    
    Scanner sc = new Scanner(System.in);
    eingabe = sc.nextInt();

    for(i = 1; i <z.length; i++)
    {
      element = z[i];
      for(j=i-1; j>=0; j--)
      {
       if(z[j]>element)
       {
         z[j+1]=z[j];
       }
       else
       break;
      }
      z[j+1]=element;
    }
    
    //Hausaufgabe
    
    j = 0;
    i = 0;
    
    for(j=i-1; j>=0; j--)
      {
       if(z[i]> eingabe)
       {
         temp = z[i];
         z[i] = eingabe;
       }
       else
       break;
      }
    
    
    
    
    
    for(int a : z) {
     System.out.print(a + "\n");
    }
  }
}
 

hdi

Top Contributor
Wo ist denn jetzt mein Fehler?
Was ist denn jetzt dein Fehler? Du musst uns mehr Input geben. Was passiert? Exception? Wenn ja dann welche Zeile. Und nicht den Stack Trace posten, sondern die tatsächliche Zeile Code (denn hier im Editor entspricht die Zeilen-Nummer nicht unbedingt der in deinem Programm). Wenn keine Exception auftritt dann gib uns eine Ist-Soll-Aussage.
 

hdi

Top Contributor
Achso, ja schau mal:

Java:
j = 0;
i = 0;
for(j=i-1; j>=0; j--)

Fällt dir da nix auf? Start: j = -1. Eintrittsbedingung: j >= 0. Tja, doof gelaufen ;)

Übrigens lag mir schon vorhin was auf der Zunge: Du solltest dieses i und j nicht durch die gesamte Methode und über diverse Schleifen durchschleppen. Das birgt Fehler, zB so einen wie er grad vorliegt. Diese Zähler sollten so lokale wie möglich sein, zB das j nur für diese for-Schleife:

Java:
for(int j = i-1; ...)

Für i das selbe. Nur in dem Scope deklarieren in dem du es brauchst, und für die nächste Schleife ein neues i erstellen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Pervasive PSQL insert funktion geht nicht Java Basics - Anfänger-Themen 9
E Mysql Update wenn es nicht existiert insert Java Basics - Anfänger-Themen 14
E Insert() Java Basics - Anfänger-Themen 12
C Erste Schritte Insert Into klappt nicht Java Basics - Anfänger-Themen 6
P Schleife für insert() und delete() im StringBuilder in Verbindung mit indexOf() Java Basics - Anfänger-Themen 7
A Android Datenbank gaaanz einfaches Insert geht nicht - warum? Java Basics - Anfänger-Themen 4
M AutoID auslesen nach INSERT Java Basics - Anfänger-Themen 8
I Problem mit H2-DB Insert-Statement Java Basics - Anfänger-Themen 3
K Problem mit h2 DB Insert Befehl Java Basics - Anfänger-Themen 6
C SELECT klappt INSERT klappt nicht!!!??? Java Basics - Anfänger-Themen 3
M Nodes/LinkedList und insert funzt net Java Basics - Anfänger-Themen 9
V Problem mit Insert-Methode des Binärbaums Java Basics - Anfänger-Themen 4
M Insert into klappt nicht? Java Basics - Anfänger-Themen 7
V Insert into klappt nicht so ganz Java Basics - Anfänger-Themen 6
W sql "Insert into" funktioniert nicht Java Basics - Anfänger-Themen 5
I JTextArea insert Methode Java Basics - Anfänger-Themen 5
L INSERT Statement geht nicht HILFE! Java Basics - Anfänger-Themen 2
L hsqldb INSERT - Unexpected token Java Basics - Anfänger-Themen 2
T Insert befehl geht nicht Java Basics - Anfänger-Themen 15
G String.insert an unbekannter Stelle Java Basics - Anfänger-Themen 5
S Listen - insert - print etc. Dringend! Bitte! Java Basics - Anfänger-Themen 6
emreiu Formatiertes Output bei Insertion Sort Java Basics - Anfänger-Themen 6
O Sortieren mit Insertion Sort Java Basics - Anfänger-Themen 3
Tw1Z Erste Schritte Sort in java Java Basics - Anfänger-Themen 2
M Bubble Sort - Int[] Array sortieren Java Basics - Anfänger-Themen 2
X Collections.sort als Lambda Java Basics - Anfänger-Themen 14
berserkerdq2 Geht collections.sort bei allen? Linkedhashset, ArrayList, HashSet etc. Java Basics - Anfänger-Themen 4
L Insertion Sort bei zweidimensionalem Array Java Basics - Anfänger-Themen 7
KogoroMori21 Textdatei einlesen im Array (Selection Sort Algorithmus) Java Basics - Anfänger-Themen 3
Marc111111111 Selection Sort in Java?? Java Basics - Anfänger-Themen 6
G Insertion Sort mit Aray Java Basics - Anfänger-Themen 5
O Collections.sort und List.sort mit Lambda Verwirrung Java Basics - Anfänger-Themen 5
B Collections.sort mit zwei Bedingungen? Java Basics - Anfänger-Themen 4
M Collection.sort sortiert nicht Java Basics - Anfänger-Themen 7
CptK Best Practice Merge-Sort als Baum darstellen Java Basics - Anfänger-Themen 3
P Java Bubble Sort,Anfängerfehler Java Basics - Anfänger-Themen 4
S Methoden Sort Array Java Basics - Anfänger-Themen 9
I Erste Schritte sort() vs. sort() Java Basics - Anfänger-Themen 9
BadBat ArrayList<String> sort by last word Java Basics - Anfänger-Themen 8
U Methoden Zweidimensionales Array mit Arrays.sort sortieren? Java Basics - Anfänger-Themen 22
X Quick Sort - Vergleichsoperationen zählen Java Basics - Anfänger-Themen 0
O Insertion Sort Java Basics - Anfänger-Themen 4
N Bubble Sort sortieren mit Int Werte Java Basics - Anfänger-Themen 8
C OOP array Sortieren ohne den sort Befehl Java Basics - Anfänger-Themen 10
S int-Array mittels Arrays.sort() in einer Schleife sortieren. Java Basics - Anfänger-Themen 2
N Schlüsselworte Bubble Sort nach eigener Ordnung Java Basics - Anfänger-Themen 8
J Fehler im Selection Sort Java Basics - Anfänger-Themen 5
O Listen sort-Methode Java Basics - Anfänger-Themen 1
M Quick Sort Java Basics - Anfänger-Themen 4
V Heap-Sort Java Basics - Anfänger-Themen 0
M Methoden Quick Sort Java Basics - Anfänger-Themen 5
T array.sort mit zwei Kriterien Java Basics - Anfänger-Themen 8
S Liste und Bubble Sort Java Basics - Anfänger-Themen 4
H Collections Was ist schneller - HashMap + Sort v TreeMap? Java Basics - Anfänger-Themen 75
S Fehler bei Arrays.sort(array) - Methode!? Java Basics - Anfänger-Themen 3
P collections.sort Java Basics - Anfänger-Themen 2
B Arrays.sort Java Basics - Anfänger-Themen 4
P schneller Sort ? Java Basics - Anfänger-Themen 2
S Bubble Sort Java Basics - Anfänger-Themen 5
B Merge-Sort Analyse Java Basics - Anfänger-Themen 27
K Array.sort() Java Basics - Anfänger-Themen 12
H Etwas wie sort() / sorted() in JAVA-Collections? Java Basics - Anfänger-Themen 5
B 2 dimensionales Array: Selection Sort Java Basics - Anfänger-Themen 4
P Ein sort problem Java Basics - Anfänger-Themen 6
S Bubble Sort Algorithmus Java Basics - Anfänger-Themen 3
N Selection Sort Problem Java Basics - Anfänger-Themen 19
Spin sort tokens - somebody knows a better solution? Java Basics - Anfänger-Themen 13
B Strings alphabentisch sortieren mit Hilfe von insertion sort Java Basics - Anfänger-Themen 6
P Array.sort // Arrays ausgeben Java Basics - Anfänger-Themen 21
S String sortieren mit Interface und sort() Java Basics - Anfänger-Themen 6
F Arrays.sort( ) Problem Java Basics - Anfänger-Themen 14
J Liste von Integers mit Selection Sort sortieren Java Basics - Anfänger-Themen 3
B Selection sort Java Basics - Anfänger-Themen 33
E Selection Sort für beliebige Objekte Java Basics - Anfänger-Themen 24
U Selection Sort schnellere Variante Java Basics - Anfänger-Themen 17
T Selection-Sort-Algorithmus Java Basics - Anfänger-Themen 9
Dit_ Collections.sort(..); | Anwendung Java Basics - Anfänger-Themen 4
N java.util.Arrays.sort Warum sind Leerzeichen vor alphabetischen Zeichen sortiert? Java Basics - Anfänger-Themen 12
D Insertion sort auf eine liste Java Basics - Anfänger-Themen 4
X Counting Sort Java Basics - Anfänger-Themen 5
P Problem mit Insertion Sort Java Basics - Anfänger-Themen 4
G Quick Sort - bin ich zu blöd? Java Basics - Anfänger-Themen 7
D sort.exe über java aufrufen Java Basics - Anfänger-Themen 2
V Bubble Sort endet in Endlosschleife Java Basics - Anfänger-Themen 4
S Collection<Typ> sort Java Basics - Anfänger-Themen 4
hedges Insertion Sort Algorithmus problem Java Basics - Anfänger-Themen 18
N Collections Sort ArrayList<> Java Basics - Anfänger-Themen 7
K Arrays.sort() Java Basics - Anfänger-Themen 2
S Collection Sort Java Basics - Anfänger-Themen 15
O Arrays und sort Java Basics - Anfänger-Themen 4
I Selection-Sort // Array *help* Java Basics - Anfänger-Themen 2
G sort(int[] a, int fromIndex, int toIndex) Java Basics - Anfänger-Themen 5
J Selection Sort in Liste implementieren Java Basics - Anfänger-Themen 3
F Klassenmethode Arrays.sort(Object[]a) Java Basics - Anfänger-Themen 2
H Bubble sort array Java Basics - Anfänger-Themen 12
M Bubble-Sort und null Werte Java Basics - Anfänger-Themen 4
G Zählen von Zuweisungen bei Bubble Sort Java Basics - Anfänger-Themen 3
I Methode Arrays.sort(Object[] arr) Java Basics - Anfänger-Themen 19
K compareTo in Verbinug mit Arrays.sort() Java Basics - Anfänger-Themen 4
0 Selection Sort funktioniert nicht. Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben