Hallo,
ich bin dabei das oben genannte Sieb zu programmieren. Da ich noch Anfänger bin, ist das natürlich eher eine schlechte Lösung und wird lange brauchen um mir die Primzahlen aus zugeben, ist aber mein Lösungsweg.
Hier ist mal mein Code:
public class Sieb
{
public Sieb()
{
}
int zaehler=0;
int primzahlen[] = new int[zaehler];
int i;
int e=0;
public int[] zahlen(int n)
{
for(int i=0;i<n;i++)
{
if(i%2!=0 && i%3!=0 && i%4!=0 && i%5!=0 && i%7!=0)
{
zaehler++;
}
else
{}
}
for(i=0;i<=n;i++)
{
if(i%2!=0 && i%3!=0 && i%4!=0 && i%5!=0 && i%7!=0)
{
primzahlen[e]=i;
e++;
}
}
for(int a=0;a<primzahlen.length;a++)
{
System.out.println(primzahlen[a]);
}
return primzahlen;
}
}
Allerdings kommt erstens eine Fehlermeldung das der Array zu kurz ist und wenn er lang genug wäre, würden ja 1, 2, 3, 5, 7, auch rausgeworfen werden, bzw werden nicht in den Array übernommen...
Kann mir da jemand helfen?
Wenn jemand Zeit und Lust hat, kann er es mir auch gerne über Skype erklären
Schon mal vielen Dank für alle hilfreichen Antworten
ich bin dabei das oben genannte Sieb zu programmieren. Da ich noch Anfänger bin, ist das natürlich eher eine schlechte Lösung und wird lange brauchen um mir die Primzahlen aus zugeben, ist aber mein Lösungsweg.
Hier ist mal mein Code:
public class Sieb
{
public Sieb()
{
}
int zaehler=0;
int primzahlen[] = new int[zaehler];
int i;
int e=0;
public int[] zahlen(int n)
{
for(int i=0;i<n;i++)
{
if(i%2!=0 && i%3!=0 && i%4!=0 && i%5!=0 && i%7!=0)
{
zaehler++;
}
else
{}
}
for(i=0;i<=n;i++)
{
if(i%2!=0 && i%3!=0 && i%4!=0 && i%5!=0 && i%7!=0)
{
primzahlen[e]=i;
e++;
}
}
for(int a=0;a<primzahlen.length;a++)
{
System.out.println(primzahlen[a]);
}
return primzahlen;
}
}
Allerdings kommt erstens eine Fehlermeldung das der Array zu kurz ist und wenn er lang genug wäre, würden ja 1, 2, 3, 5, 7, auch rausgeworfen werden, bzw werden nicht in den Array übernommen...
Kann mir da jemand helfen?
Wenn jemand Zeit und Lust hat, kann er es mir auch gerne über Skype erklären
Schon mal vielen Dank für alle hilfreichen Antworten