Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
was muss ich machen damit mein Programm läuft?? Ich wollte eigentlich die Anzahl der Primzahlen und der nicht Primzahlen von 1 bzw. 2 bis 100 anzeigen lassen. Nur irgendwie will es nicht so recht funktionieren! Kann mir da wer weiterhelfen??? Hier ist mein Code:
Code:
public class primzahlen {
public static void main (String[] args) {
int wert=100;
int i=2;
for(i=2;i<wert;i=i+1)
System.out.println(primzahl(i)+" ist eine Primzahl");
}
public static int primzahl(int zahl){
int wert1;
int wert2;
wert1=zahl%zahl;
wert2=zahl%1;
if(wert1==0 && wert2==0);
else{
System.out.println(" keine Primzahl");
}
return wert1 + wert2;
}
}
Ja, ich steig da irgendwie nicht richtig durch! Wie müsste es denn richtig aussehen?? Ich weiß nicht wie man es korrekt schreibt!! Das ist ja das Problem! Kann vielleicht jemand seinen Lösungsvorschlag posten, vielleicht verstehe ich es ja dann! Danke!
Aber der Algorithmus ist leider komplett falsch. Wenn man ihn laufen lässt wird 100mal:
0 ist eine Primzahl
ausgegeben.
Code:
wert1 = zahl % zahl;
wert2 = zahl % 1;
if (wert1 == 0 && wert2 == 0)
Dieser Test bringt leider gar nichts, da dies für jede beliebige Zahl gilt. Um Primzahlen zu ermitteln musst du eben zeigen, dass dies die einzige Möglichkeit ist.
Wenn ich mich nicht irre wurde das primzahlen problem hier schon öfters diskutiert !
Was meinst du damit??? Es muss doch irgendwie eine Möglichkeit geben die Zahlen von 1 bis 100 zu bestimmen! ich meine man kann sie ja auch ausrechnen! 2,3,5,7,11,13 sind ja primzahlen, aber wie kann ich es dem programm sagen?? Danke
also, ich hab es jetzt zwar, funktioniert auch halbwegs, ABER was muss ich machen wenn ich die primzahlen und die nichtprimzahlen ausgeben will?? Und wenn ich den wert auf 1000 setze stimmt das ergebnis nicht mehr! Also ich bin am verzweifeln! Die Formel verstehe ich da irgendwie nicht! Helft mir bitte! Ich weiß, das diese lösung falsch ist und nicht richtig funktioniert, aber ich weiß auch nicht mehr weiter. Kann nicht jemand so freundlich sein und den korrekten quellcode schreiben und posten?? Hier ist mein (falscher code) :
Code:
public class primzahltest {
public static void main (String[] args) {
int wert=1000;
System.out.println("Von 1 bis "+wert+" sind:");
System.out.println(filter(wert));
}
public static int filter(int wert){
int primzahl=0;
int keineprimzahl=0;
int summe=0;
int i=2;
for(i=2;i<wert;i=i+1){
if(i%2==0 || i%3==0 || i%5==0 || i%7==0){
keineprimzahl=keineprimzahl+1;
}
}
keineprimzahl=keineprimzahl-1;
summe=wert-keineprimzahl;
primzahl=primzahl+summe;
return primzahl;
}
Helft einen kleinen Noob der nicht mehr weiterweiß! Danke im Vorraus!
ähm
wenn du alle primzahlen und alle nicht-prinzahlen ausgeben willst, dann solltest dus erstmal mit System.out.println(); versuchen ???:L
denn im moment gibst du nur die anzahl der primzahlen uas, bzw. würdest du, wenn dein code richtig wäre
edit: oder so ähnlich ???:L .. deinen code versteh einer
Ich war mir nicht sicher, ob es sich für dich jetzt erledigt hat.
So dürfte es gehen (du muss die Zahl n durch jede Zahl von 2 bis (n-1) teilen. Ergibt sich kein Rest, so ist es auch keine Primzahl):
Code:
public class test
{
static String primzahl(int zahl) {
if (zahl == 2) {
return ("ist eine Primzahl.");
}
for (int i=2; i<zahl; i++) {
if (zahl%i == 0) {
return ("ist keine Primzahl.");
}
}
return ("ist eine Primzahl.");
}
public static void main( String args[] )
{
int wert=50;
for (int i=1; i<wert; i++) {
System.out.println(" Die Zahl " + i + " " + primzahl(i));
}
}
}
ich hab jetzt man ne frage! Ich habe es bis jetzt schonmal geschafft, dass die ganzen primzahlen und nicht primzahlen angezeigt werden. was muss ich machen damit die zusammen gezählt werden?? also das es 24 primzahlen sind und 76 nichtprimzahlen? Ich hoffe ihr könnt mir weiterhelfen!
Code:
public class primzahl21 {
public static void main (String[] args) {
int wert=100;
int i=2;
for(i=2;i<100;i=i+1){
System.out.println(+filter(i));
}
}
public static int filter(int wert){
int counter=0;
int counter2=0;
int teiler=0;
for(int i=2;i<wert;i=i+1){
if(wert%i==0){
teiler=teiler+1;
}
}
if(teiler==0){
counter=counter+1;
}
else{
counter2=counter2+1;
}
return counter;
}
}