Hallo Leute,
ich habe gerade eine Aufgabe vor mir liegen, bei dem der Benutzer per Eingabe entscheidet, wie viele Zahlen ins Array sollen.
Dann soll mein Programm zählen, wie oft eine bzw. dieselbe Ziffer/Zahl im Array vorkommt.
Zum Schluss soll die Zahl und die Häufigkeit/Menge ausgegeben werden.
Ich habe das Ganze mit einem mehrdimensionalen Array/ for-Schleifen und If-Abfragen gemacht. Fast alles klappt perfekt.
Mein Problem ist, dass wenn eine Ziffer/Zahl mehrmals vorkommt, die Ausgabe dann auch genauso oft die Zahl mit der Menge ausgibt. Bei der Ausgabe soll eine Ziffer/Zahl nur einmal vorkommen.
Vorab vielen Dank!
Mein Code:
ich habe gerade eine Aufgabe vor mir liegen, bei dem der Benutzer per Eingabe entscheidet, wie viele Zahlen ins Array sollen.
Dann soll mein Programm zählen, wie oft eine bzw. dieselbe Ziffer/Zahl im Array vorkommt.
Zum Schluss soll die Zahl und die Häufigkeit/Menge ausgegeben werden.
Ich habe das Ganze mit einem mehrdimensionalen Array/ for-Schleifen und If-Abfragen gemacht. Fast alles klappt perfekt.
Mein Problem ist, dass wenn eine Ziffer/Zahl mehrmals vorkommt, die Ausgabe dann auch genauso oft die Zahl mit der Menge ausgibt. Bei der Ausgabe soll eine Ziffer/Zahl nur einmal vorkommen.
Vorab vielen Dank!
Mein Code:
Java:
public class HaeufigkeitArray {
public static void main (String args []){
int anzahl = InOut.readInt("Wie viele Zahlen? ");
int [][] zahl = new int [anzahl][anzahl];
System.out.println();
for (int i = 0;i < anzahl ;i++) {
zahl [0][i] = InOut.readInt((i+1)+".Zahl -> ");
} // end of for
for (int j = 0;j < anzahl ;j++ ) {
int menge = 0;
for (int k = 0;k < anzahl ;k++ ) {
if (zahl [0][j] == zahl [0][k]) {
menge += 1;
} // end of if
} // end of for
zahl [1][j] = menge;
} // end of for
System.out.println();
for (int l = 0;l < anzahl ;l++ ) {
System.out.println("Zahl: "+zahl[0][l]+", Menge: "+zahl[1][l]);
} // end of for
}
}