Guten Morgen zusammen,
ich möchte gerne die Anzahl der ausgegebenen Werte in einem Array addieren und diesen Wert im Anschluss ausgeben.
In meinem Fall habe ich ein Array, wo das Alter der Mitarbeiter eingetragen ist. Und alle Mitarbeiter, die älter als 59 sind sollen hochgezählt werden. Das Filtern klappt wunderbar. Insgesamt 3 Mitarbeiter. Aber in der Ausgabe erhalte ich das Alter der 3 und nicht als Zahl einfach nur drei. Irgendwie ist der Wurm drin,
Hier der Code:
Als Ausgabe erhalte ich:
60
62
64
Also gefunden werden die, aber ich möchte jetzt einfach nur, dass eine 3 ausgegeben wird. Sprich einfach nur die Anzahl der Mitarbeiter > 59.
Ich komme einfach nicht drauf, wo hier...
...der Fehler ist. Vielleicht liegt es ja an der Uhrzeit
Vielen Dank im Voraus
ich möchte gerne die Anzahl der ausgegebenen Werte in einem Array addieren und diesen Wert im Anschluss ausgeben.
In meinem Fall habe ich ein Array, wo das Alter der Mitarbeiter eingetragen ist. Und alle Mitarbeiter, die älter als 59 sind sollen hochgezählt werden. Das Filtern klappt wunderbar. Insgesamt 3 Mitarbeiter. Aber in der Ausgabe erhalte ich das Alter der 3 und nicht als Zahl einfach nur drei. Irgendwie ist der Wurm drin,
Hier der Code:
Java:
public class MergeSort {
public static int[] intArr = {16, 23, 14, 7, 60, 20, 6, 1, 62, 13, 12, 9, 3, 19, 70};
public int[] sort(int l, int r) {
/**Teile
* Aufteilung der gesamten Werte in 2 Hälften bis es nicht mehr geht
*/
if (l < r) {
int q = (l + r) / 2;
sort(l, q);
sort(q + 1, r);
merge(l, q, r);
}
return intArr;
}
/**Herrsche
* Algorithmus
* hier werden
* die Werte in aufsteigender
* Reihenfolge sortiert
* und "verschmolzen"
*/
private void merge(int l, int q, int r) {
int[] arr = new int[intArr.length];
int i;
int j;
for (i = l; i <= q; i++) {
arr[i] = intArr[i];
}
for (j = q + 1; j <= r; j++) {
arr[r + q + 1 - j] = intArr[j];
}
i = l;
j = r;
for (int k = l; k <= r; k++) {
if (arr[i] <= arr[j]) {
intArr[k] = arr[i];
i++;
} else {
intArr[k] = arr[j];
j--;
}
}
}
//Mainmethode und Ausgabe
public static void main(String[] args) {
MergeSort ms = new MergeSort();
int[] arr = ms.sort(0, intArr.length - 1);
for (int i = 0; i < arr.length; i++) {
int anzahlPotenziellerRentenAnwaerter = 0;
if (arr[i] > 59) {
anzahlPotenziellerRentenAnwaerter = arr[i];
System.out.println(anzahlPotenziellerRentenAnwaerter);
}
}
}
}
Als Ausgabe erhalte ich:
60
62
64
Also gefunden werden die, aber ich möchte jetzt einfach nur, dass eine 3 ausgegeben wird. Sprich einfach nur die Anzahl der Mitarbeiter > 59.
Ich komme einfach nicht drauf, wo hier...
Java:
//Mainmethode und Ausgabe
public static void main(String[] args) {
MergeSort ms = new MergeSort();
int[] arr = ms.sort(0, intArr.length - 1);
for (int i = 0; i < arr.length; i++) {
int anzahlPotenziellerRentenAnwaerter = 0;
if (arr[i] > 59) {
anzahlPotenziellerRentenAnwaerter = arr[i];
System.out.println(anzahlPotenziellerRentenAnwaerter);
Vielen Dank im Voraus
Zuletzt bearbeitet: