Primzahlen

sebi04.04

Mitglied
Hallo liebes Forum,

habe wiedereinmal ein Problem beim programmieren und ich hoffe ihr könnt mir helfen:

Wir sollen ein Programm schrieben das bei allen Zahlen von 1 bis 100 testet, ob sie

  1. durch 3 teilbar sind
  2. nicht durch 5 aber durch 4 teilbar sind
  3. Primzahlen sind

Beim letzteren liegt mein Problem ich kriege einfach die Primzahlenberechnung nicht zustande :shock:!

Vielleicht ist es ja nur ein grober Denkfehler, hoffe ihr könnt mir helfen.

Übrigens : Primzahlen sind Zahlen die nur durch 1 und durch sich selber teilbar sind.

Java:
public class Primzahlen  {
  public static void main (String [] arg){
  System.out.println ("Primzahlen-tester\n");
  int i,x,y,w,p;
  x=0;
  y=0;
  w=0;
  p=0;
  for(i=1; i<100; i++){
    System.out.print( i + "\n" );
    x = i % 3;
    
    if(x == 0){
    System.out.print("Die Zahl ist durch 3 Teilbar\n");
    }else{
      System.out.print("Die Zahl ist nicht durch 3 Teilbar\n");
    }
    if (i%5 != 0){
      if (i%4 == 0){
        System.out.print("Die Zahl ist nicht durch 5 aber durch 4 Teilbar\n");
      }else{
        System.out.print("Die Zahl weder durch 5 noch durch 4 Teilbar\n");
      }
    }else{
      System.out.print("Die Zahl ist durch 5 aber nicht durch 4 Teilbar\n");
    }
    for (int z=2; z<i;z++){
      w = i % z;
      if ( w == 0){
           p++;
      }else{
       if (p == 2){
           System.out.print ("primzahl");
           break;
       }else{
           System.out.print (" keine primzahl");
           break;

       }
      }
    }
    }



    
  }

}
lg sebi
 
S

SlaterB

Gast
Tipp zu Primzahl:
du musst erst die gesamte Schleife durchlaufen bis ein positives Ergebnis feststeht,
wenn du erst nur die 2 prüfst kann in diesem Schritt nicht schon eine Ausgabe erfolgen
 

XHelp

Top Contributor
Eine Primzahl lässt sich nur durch 1 und sich selber Teilen. Da kommen auch die 2 Teiler her. Deine Schleife läuft aber von 2 bis einschließlich
Code:
i-1
. Demzufolge musst du überhaupt keine Teiler finden, somit ist dein
Code:
p
bei Primzahlen 0.
Und die if-Abfrage mit
Code:
if (p==0)
musst du erst nach der Schleife machen, wenn auch alles untersucht wurde.
 

sebi04.04

Mitglied
Hi,
habe nochmal überarbeitet, und die If-abfrage nach unten gesetzt.

Java:
 public class Primzahlen  {
  public static void main (String [] arg){
  System.out.println ("Primzahlen-tester\n");
  int i,x,y,w,p;
  x=0;
  y=0;
  w=0;
  p=0;
  for(i=1; i<100; i++){
    System.out.print( i + "\n" );
    x = i % 3;
    
    if(x == 0){
    System.out.print("Die Zahl ist durch 3 Teilbar\n");
    }else{
      System.out.print("Die Zahl ist nicht durch 3 Teilbar\n");
    }
    if (i%5 != 0){
      if (i%4 == 0){
        System.out.print("Die Zahl ist nicht durch 5 aber durch 4 Teilbar\n");
      }else{
        System.out.print("Die Zahl weder durch 5 noch durch 4 Teilbar\n");
      }
    }else{
      System.out.print("Die Zahl ist durch 5 aber nicht durch 4 Teilbar\n");
    }
    for (int z=2; z<i;z++){
      w = i % z;
      if ( w == 0){
           p++;
      }


    }
    if (p == 0){
           System.out.print ("primzahl");
           break;
       }else{
           System.out.print (" keine primzahl");
           break;

       }
    }



    
  }

}

Jetzt hört er schon bei der Zahl 3 auf zu zählen! ich verstehe die ganze aktion nicht !
 

XHelp

Top Contributor
Du musst ja auch die
Code:
break
's wegmachen, sonst beendet er ja die äußere Schleife
 

AlexSpritze

Bekanntes Mitglied
In Zeile 25 kannst du noch nicht behaupten, dass die Zahl nicht durch 4 teilbar wäre. In diesem else-Zweig müsstest du auch noch mal die if-Abfrage von Zeile 19 machen.
 

Hemme

Mitglied
Du machst in Zeile 35 auch einen Fehler.
Ab Zahl 4 kann p nie mehr null sein... deshalb wird dein programm auch keine primzahlen finden die grösser sind als 4 sprich also z.B. 5...
 

XHelp

Top Contributor
Du machst in Zeile 35 auch einen Fehler.
Ab Zahl 4 kann p nie mehr null sein... deshalb wird dein programm auch keine primzahlen finden die grösser sind als 4 sprich also z.B. 5...

Warum das?
[EDIT]
Ah, ok,
Code:
p
zurücksetzen. Hörte sich so an, als ob du was gegen den Algo hättest
[/EDIT]
 

sebi04.04

Mitglied
Hallo Zusammen,
da ich nicht mehr durchgeblickt habe habe ich alles noch einmal zurückgesetzt und frage euch nun, was muss ich machen damit er ausgibt : primzahl oder eben nicht ?

Habe keine idee mehr.

Java:
public class Primzahlen  {
  public static void main (String [] arg){
  System.out.println ("Primzahlen-tester\n");
  int i,x,y,w,p,l;
  x=0;
  y=0;
  w=0;
  p=0;
  l=0;
  for(i=1; i<10; i++){
    System.out.print( i + "\n" );
    /*x = i % 3;
    
    if(x == 0){
    System.out.print("Die Zahl ist durch 3 Teilbar\n");
    }else{
      System.out.print("Die Zahl ist nicht durch 3 Teilbar\n");
    }
    if (i%5 != 0){
      if (i%4 == 0){
        System.out.print("Die Zahl ist nicht durch 5 aber durch 4 Teilbar\n");
      }else{
        System.out.print("Die Zahl weder durch 5 noch durch 4 Teilbar\n");
      }
    }else{
      System.out.print("Die Zahl ist durch 5 aber nicht durch 4 Teilbar\n");
    } */
    for (int z=2; z<i;z++){
    w = i % z;
    if ( w != 0){
      System.out.print ("Primzahl\n");
    }else {
      System.out.print ("Keine Primzahl\n");
    }
    }
    }



    
  }

}

lg
 

XHelp

Top Contributor
Wie bereits gesagt: zwischen Zeile 10 und 11 musst du
Code:
p
auf 0 setzen.
Warum da jetzt plötzlich was ganz anderen ab Zeile 28 steht, ist mir ein Rätsel, vorhin war es bis auf die break's richtig.
 

Hemme

Mitglied
Java:
public class Primzahlen  {
  public static void main (String [] arg){
  System.out.println ("Primzahlen-tester\n");
  int i,x,y,w,p;
  x=0;
  y=0;
  w=0;
  p=0;
  for(i=1; i<100; i++){
    System.out.print( i + "\n" );
    x = i % 3;
    
    if(x == 0){
    System.out.print("Die Zahl ist durch 3 Teilbar\n");
    }else{
      System.out.print("Die Zahl ist nicht durch 3 Teilbar\n");
    }
    if (i%5 != 0){
      if (i%4 == 0){
        System.out.print("Die Zahl ist nicht durch 5 aber durch 4 Teilbar\n");
      }else{
        System.out.print("Die Zahl weder durch 5 noch durch 4 Teilbar\n");
      }
    }else{
      System.out.print("Die Zahl ist durch 5 aber nicht durch 4 Teilbar\n");
    }
    for (int z=2; z<i;z++){
      w = i % z;
      if ( w == 0){
           p++;
      }
 
 
    }
    if (p == 0){
           System.out.print ("primzahl");
            break;  // Hier das break entfernen!
       }else{
           System.out.print (" keine primzahl");
           break;  // Hier  das break entfernen!
           p = 0; // Und hier p unbedingt zurückgesetzen
       }
    }
 
 
 
    
  }
 
}
 

sebi04.04

Mitglied
Es hat endlich geklappt vielen Dank !

Danke an Hemme, der sich die Mühe gemacht hat mir das einmal dort einzufügen und zu veranschaulichen.:toll:

lg sebi
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
iAmFaiinez Primzahlen Tester ohne Array Java Basics - Anfänger-Themen 4
sserio Wieso werden nicht alle Primzahlen bis 1000 in meine Liste gepackt ? Java Basics - Anfänger-Themen 8
B Primzahlen bis 100 addieren Java Basics - Anfänger-Themen 16
H Primzahlen finden - Zeit optimieren Java Basics - Anfänger-Themen 34
S Primzahlen in Array ausgeben Java Basics - Anfänger-Themen 14
M Array auf Primzahlen prüfen Java Basics - Anfänger-Themen 7
D Primzahlen Rechner nach Eratostenes von Kyrene Algorithmus Java Basics - Anfänger-Themen 2
fendix Compiler-Fehler Algorithmus zur Bestimmung von Primzahlen Java Basics - Anfänger-Themen 7
P Methode die ausgibt wie viele Primzahlen es zwischen 2 und n gibt Java Basics - Anfänger-Themen 10
G Primzahlen von Rekursiv nach Iterativ Java Basics - Anfänger-Themen 6
M Rekursives Programm zum Anzeigen von Primzahlen Java Basics - Anfänger-Themen 3
P Primzahl mit Angabe der höchsten Primzahl und Angabe der Anzahl von Primzahlen bis 100 Java Basics - Anfänger-Themen 8
Java The Hutt Primzahlen - die ersten 100 Java Basics - Anfänger-Themen 17
N Erste Schritte Primzahlen-ArrayIndexOutOfBounds Java Basics - Anfänger-Themen 23
R Primzahlen Zähler Programm / Benachbarte Primzahlen Java Basics - Anfänger-Themen 30
D Klassen Primzahlen überprüfen Java Basics - Anfänger-Themen 3
I Primzahlen Java Basics - Anfänger-Themen 17
Z Rekursion Primzahlen Java Basics - Anfänger-Themen 1
M Erste Schritte primzahlen ermitteln, nur zahlen als eingabe erlauben Java Basics - Anfänger-Themen 34
S Primzahlen berechnen funktioniert nicht richtig Java Basics - Anfänger-Themen 1
R primzahlen im array Java Basics - Anfänger-Themen 33
M Primzahlen, nur jede 2te ausgeben Java Basics - Anfänger-Themen 11
T Primzahlen Fehler Java Basics - Anfänger-Themen 4
K Primzahlen Java Basics - Anfänger-Themen 6
L Primzahlen im Array ausgeben Java Basics - Anfänger-Themen 3
P Primzahlen Java Basics - Anfänger-Themen 3
A Methoden Primzahlen erstellen von 1 bis 100-Codeprobleme Java Basics - Anfänger-Themen 2
H Variablenverfolgung - Primzahlen Java Basics - Anfänger-Themen 7
G Primzahlen Java Basics - Anfänger-Themen 6
D Primzahlen und Rekursive Liste Java Basics - Anfänger-Themen 29
S Primzahlen bis 1000 ausgeben Java Basics - Anfänger-Themen 3
K Methoden Primzahlen Java Basics - Anfänger-Themen 33
S Input/Output Primzahlen Datenbank Java Basics - Anfänger-Themen 11
F Primzahlen in Zahlenblöcken ausgeben Java Basics - Anfänger-Themen 9
M Primzahlen - es werden alle Nicht-Primzahlen ausgegeben Java Basics - Anfänger-Themen 5
M primzahlen Java Basics - Anfänger-Themen 4
S Programm zu Ermittlung von Primzahlen Java Basics - Anfänger-Themen 14
E Programm zum Primzahlen ausgeben-Fehler Java Basics - Anfänger-Themen 12
X Primzahlen Java Basics - Anfänger-Themen 7
B Programmierobjekt - Primzahlen Java Basics - Anfänger-Themen 2
D Primzahlen ausgeben. Wo liegt der Fehler? Java Basics - Anfänger-Themen 4
N Primzahlen Java Basics - Anfänger-Themen 5
I Primzahlen check, String prüfen lassen. Java Basics - Anfänger-Themen 6
A OOP Programm zum bestimmen von Primzahlen, OutofBoundsException Java Basics - Anfänger-Themen 10
apple987123 Primzahlen Java Basics - Anfänger-Themen 12
A Primzahlen: ein paar offene Fragen Java Basics - Anfänger-Themen 2
T Primzahlen Java Basics - Anfänger-Themen 6
G Primzahlen Java Basics - Anfänger-Themen 18
B Primzahlen berechnen - Wieso unterschiedliche Java Basics - Anfänger-Themen 3
B Primzahlen Algorithmus - wo ist der Fehler ? Java Basics - Anfänger-Themen 2
E Primzahlen Java Basics - Anfänger-Themen 5
B Primzahlen mit Array errechnen! Java Basics - Anfänger-Themen 13
H Miller Rabin Test Primzahlen werden teilweise nicht gefunden Java Basics - Anfänger-Themen 5
M Wer kann mir bei Primzahlen helfen ? Java Basics - Anfänger-Themen 4
G Frage zur Primzahlen berechnung Java Basics - Anfänger-Themen 11
kulturfenster Primzahlen berechnen Java Basics - Anfänger-Themen 11
D Primzahlen Java Basics - Anfänger-Themen 4
N Zerlegung in Primzahlen Java Basics - Anfänger-Themen 7
F Programm Primzahlen Java Basics - Anfänger-Themen 5
J Primzahlen errechnen.ArrayLists abgleichen Java Basics - Anfänger-Themen 2
M Primzahlen Java Basics - Anfänger-Themen 6
C Primzahlen Java Basics - Anfänger-Themen 7
C Primzahlen Java Basics - Anfänger-Themen 2
S Primzahlen Java Basics - Anfänger-Themen 49

Ähnliche Java Themen

Neue Themen


Oben