Hallo!
Ich bin absoluter Neuanfänger ohne Vorkenntnisse was Programmieren betrifft. Zwecks meiner Ausbildung beschäftige ich mich seit 2 Monaten (1 mal in der Woche) mit Java.
Ich muss nun Zufallszahlen in einem Array erzeugen und danach ausgeben, welche Zahlen doppelt vorkommen.
Hier mein Code bisher: (Nur vorweg: Ich habe die Zahlenmäßige angabe mal ignoriert und zu Testzwecken ein Array mit 5 Datensätzen und 10 Zufallszahlen erzeugt.
Ich weiß, ich bin noch nicht auf die doppelten Zahlen eingegangen (für die hab ich eh schon ne überlegung). Mein Problem ist, dass das Array nicht sortiert wird.
Ich weiß das, weil ich durch die letzte for Schleife sehe, dass die Zahlen genauso nach dem BubbleSort ausgegeben werden wie davor.
Ich hoffe ihr könnt mich erleuchten wieso BubbleSort nicht eingreift!
Bzw. wäre super wenn mir wer sagen könnte, wieso Code Zeile 22 nur funktioniert, wenn ich feld1.length -1 eingebe. Bei der normalen feld1.length kommt ein ArrayIndexOutOfBoundsException-Fehler.
mfg
ps: google glüht schon von meinen Fragen, habe aber leider nichts dazu gefunden
Ich bin absoluter Neuanfänger ohne Vorkenntnisse was Programmieren betrifft. Zwecks meiner Ausbildung beschäftige ich mich seit 2 Monaten (1 mal in der Woche) mit Java.
Ich muss nun Zufallszahlen in einem Array erzeugen und danach ausgeben, welche Zahlen doppelt vorkommen.
Hier mein Code bisher: (Nur vorweg: Ich habe die Zahlenmäßige angabe mal ignoriert und zu Testzwecken ein Array mit 5 Datensätzen und 10 Zufallszahlen erzeugt.
Java:
package;
import java.util.Random;
public class D{
public static void main(String[] args) {
// TODO Auto-generated method stub
int feld1[] = new int[5];
Random r = new Random();
boolean sortiert = true;
int h = 0;
for (int i = 0; i < feld1.length; i++) {
feld1[i] = r.nextInt(10) + 1;
System.out.println((i + 1) + ". Zufallszahl: " + feld1[i]);
}
while (sortiert) {
sortiert = false;
for (int i = 0; i < feld1.length - 1; i++) {
if (feld1[i] == feld1[i + 1]) {
h = feld1[i];
feld1[i] = feld1[i + 1];
feld1[i + 1] = h;
sortiert = true;
}
}
}
for (int i = 0; i < feld1.length; i++) {
System.out.println((i + 1) + ". sortierte Zahl: " + feld1[i]);
}
}
}
Ich weiß, ich bin noch nicht auf die doppelten Zahlen eingegangen (für die hab ich eh schon ne überlegung). Mein Problem ist, dass das Array nicht sortiert wird.
Ich weiß das, weil ich durch die letzte for Schleife sehe, dass die Zahlen genauso nach dem BubbleSort ausgegeben werden wie davor.
Ich hoffe ihr könnt mich erleuchten wieso BubbleSort nicht eingreift!
Bzw. wäre super wenn mir wer sagen könnte, wieso Code Zeile 22 nur funktioniert, wenn ich feld1.length -1 eingebe. Bei der normalen feld1.length kommt ein ArrayIndexOutOfBoundsException-Fehler.
mfg
ps: google glüht schon von meinen Fragen, habe aber leider nichts dazu gefunden
Zuletzt bearbeitet: