ich hab ein kleines problem. ich habe in einer for schleife eine if bedingung die mir werte ausgibt.
sie prüft beispielsweise ob eine zahl von 0-10 durch 2 ganzahlig teilbar ist.
das wären in diesem fall dann die zahlen: 2, 4, 6, 8, 10
diese zahlen will ich nun in einem array speichern, wie kann ich das machen?
das array hab ich schon angelegt mit der länge 10.
ich weiß aber nicht wie ich die zahlen in dem array speichern kann.
das gesamte programm sieht so aus, dass ich ihm eine zahl gebe, wie z.b. 5 und das programm testet, ob die fünf eine primzahl ist. das funktioniert auch.
nun soll zusätzlich soll das programm nun schaun, ob es primzahlen von 0 bis 5 gibt,
wie speichere ich die werte in einem array? also in diesem fall die 1,2,3.
Code:
public static void main(String[] args) {
int n = 5;
primzahl(n);
int[]zahl = new int[n];
// boolean Primzahl = true;
int counter = 0;
int m;
for (m = n; m == n; m--) {
for (int k = 1; k < m; k++) {
int rest = m % k;
if (rest == 0)
counter++;
if (counter <= 1)
zahl[k] = counter;
}
for (int i=0; i<n;i++){
System.out.println(zahl[i]);
also, das ist die aufgabe:
Erweitern Sie den Algorithmus in der Weise, daß alle Primzahlen ermittelt werden, die kleiner oder gleich der gegebenen Zahl n sind. Speichern Sie die ermittelten Primzahlen in einem Array und geben Sie diese am Ende auf den Bildschirm aus, wobei zusätzlich die Zahl n und die Anzahl der gefundenen Primzahlen mit einem entsprechenden Text ausgegeben werden sollen.
und das mein programm:
Code:
public class aufgabe_7 {
public static void primzahl(int n) {
boolean Primzahl = true;
int counter = 0;
for (int m = 1; m < n; m++) {
int rest = n % m;
if (rest == 0)
counter++;
if (counter > 1)
Primzahl = false;
}
if (Primzahl)
System.out.println("Die Zahl ist eine Primzahl");
else
System.out.println("NEIN! Die Zahl ist keine Primzahl");
}
public static void main(String[] args) {
int n = 5;
primzahl(n);
}
}
das andere war ein kläglicher versuch, die oben genannte aufgabe zu lösen.
hast du ne ahnung wie man das machen könnte?
hab ewig rum probiert, komm aber auf keine lösung.
soo, habs jetzt endgültig geschafft,
so funktionierts, is allerdings etwas komplizierter geworden
Code:
public class aufgabe_7 {
public static void primzahl(int n) {
int[] prim = new int[n];
int k = 0;
int temp = n - 1;
boolean Primzahl = true;
boolean Primzahl1 = true;
int counter = 0;
int counter1 = 0;
for (int m = 1; m < n; m++) {
int rest = n % m;
if (rest == 0)
counter++;
if (counter > 1)
Primzahl = false;
for (int l = 1; l < temp; l++) {
int rest1 = (temp) % l;
if (rest1 == 0)
counter1++;
if (counter1 > 1)
Primzahl1 = false;
}
counter1=0;
if (Primzahl1) {
prim[k] = (temp);
k++;
}
Primzahl1 = true;
temp--;
}
if (Primzahl)
System.out.println("Die Zahl" + " " + n + " ist eine Primzahl");
else
System.out.println("NEIN! Die Zahl ist keine Primzahl");
for (int i = 0; i < prim.length; i++) {
System.out.print(prim[i]+" ");
}
}
public static void main(String[] args) {
int n = 200;
primzahl(n);
}
}