Moin Moin,
Ich möchte ein Programm schreiben das wie folt funktionieren soll:
Zuerst wird über die kommandozeile/Benutzereingabe eine Zahl N eingegeben.
Im Anschluss wird von 1 ausgehend jede zweite zahl (bis zu N) weggestrichen.
Von den übriggebliebenen wird nun jede 3. weggestrichen.
Von den immer noch übriggebliebenen wird nun jede 4. weggestrichen.
Die zu guter letzt noch übrig gebliebenen Zahlen werden ausgegeben.
Ich hoffe das war einigermaßen verständlich formuliert.
Leider ist meine Ausgabe (nach den schritten): 1,5,9,13 bei N=20 was leider falsch ist..
Was mache ich falsch?
Vielen Dank!
Ich möchte ein Programm schreiben das wie folt funktionieren soll:
Zuerst wird über die kommandozeile/Benutzereingabe eine Zahl N eingegeben.
Im Anschluss wird von 1 ausgehend jede zweite zahl (bis zu N) weggestrichen.
Von den übriggebliebenen wird nun jede 3. weggestrichen.
Von den immer noch übriggebliebenen wird nun jede 4. weggestrichen.
Die zu guter letzt noch übrig gebliebenen Zahlen werden ausgegeben.
Ich hoffe das war einigermaßen verständlich formuliert.
Leider ist meine Ausgabe (nach den schritten): 1,5,9,13 bei N=20 was leider falsch ist..
Java:
import java.util.Arrays;
import java.util.Random;
import java.util.function.Predicate;
public class OrmittedNumbers {
public static void main(String[] args) {
System.out.print("Eingabe: ");
int N;
N = StdIn.readInt();
int[] feld;
feld = new int[N];
for (int i = 0; i < N; i += 2) {
feld[i] = i + 1;
rückgabe(feld);
}
for (int w = 0; w < N; w++) {
feld[w] = w + 1;
if (w % 3 == 0) {
rückgabe(feld);
}
}
for (int x = 0; x < N; x++) {
feld[x] = x + 1;
if (x % 4 == 0) {
System.out.println(feld[x]);
rückgabe(feld);
}
}
}
public static int[] rückgabe(int[] feld) {
return feld;
}
}
Vielen Dank!
Zuletzt bearbeitet von einem Moderator: