Q
qwertz347
Gast
Hallo!
Ich hab da ein kleines Problem:
Ich muss für die Schule ein Array der Länge '6' erstellen, und in dieses Zahlen sortiert einfügen. (Also nicht das ganze Array fülle, und dann sortieren, das wäre ja einfach...)
Ich hab mir das so gedacht:
Zuerst lese ich einen Wert von der Tastatur ein, dann schaue ich, ob ein bereits vorhandener Wert größer ist als der aktuelle. Sollte dies zutreffen, verschiebe ich den vorletzten Wert auf den letzten, den zweitletzten auf den Vorletzten, und so weiter, und an der freigewordenen Stelle füge ich dann den neuen Wert ein.
Leider funktioniert das nicht so, wie ich mir das vorgestellt habe.
Ich hoffe, ihr werdet halbwegs schlau aus meinen Ausführungen, und habt eine praktikable Lösung für mich. Ich bin damit echt überfordert.
Besten Dank schonmal!
qwertz347
Ich hab da ein kleines Problem:
Ich muss für die Schule ein Array der Länge '6' erstellen, und in dieses Zahlen sortiert einfügen. (Also nicht das ganze Array fülle, und dann sortieren, das wäre ja einfach...)
Ich hab mir das so gedacht:
Zuerst lese ich einen Wert von der Tastatur ein, dann schaue ich, ob ein bereits vorhandener Wert größer ist als der aktuelle. Sollte dies zutreffen, verschiebe ich den vorletzten Wert auf den letzten, den zweitletzten auf den Vorletzten, und so weiter, und an der freigewordenen Stelle füge ich dann den neuen Wert ein.
Leider funktioniert das nicht so, wie ich mir das vorgestellt habe.
Code:
int[] meinArray = new int[6];
int wert = 0;
//Wert einlesen
for(int wertnr=0; wertnr<meinArray.length; wertnr++)
{System.out.println("Wert?");
wert = readInt();
//Pruefung, ob der aktuelle Wert kleiner ist,
//als ein Wert, der bereits im Array vorkommt
for(int i=0; i<meinArray.length; i++)
{if(meinArray[i]>wert)
{//Werte im Array verschieben, dann einsetzten
for(int k=meinArray.length-1; k>i; k--)
{meinArray[k]=meinArray[k-1];
}
meinArray[i]=wert;
}
}
}
Ich hoffe, ihr werdet halbwegs schlau aus meinen Ausführungen, und habt eine praktikable Lösung für mich. Ich bin damit echt überfordert.
Besten Dank schonmal!
qwertz347