Primzahl oder nicht?!

Status
Nicht offen für weitere Antworten.

figuerro

Mitglied
hey leutz..
ich hab hier meine idee wie man herausfindet ob man eine primzahl hat oder nicht programmiert nur funzt seit dem ich javaeditor hab zu hause mein checkstyle nicht und von daher kann ich nicht kontrollieren was falsch ist. und nebenbei zeigt java mir auch so einen fehler an..

Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

/**
  *
  * Beschreibung
  *
  * @version 1.0 vom 02.09.2009
  * @author
  */

public class Uebung8 extends JFrame {
  // Anfang Attribute
  private JTextField jTextField1 = new JTextField();
  private JTextField jTextField2 = new JTextField();
  private JLabel jLabel1 = new JLabel();
  private JButton jButton1 = new JButton();
  private JLabel jLabel2 = new JLabel();
  // Ende Attribute

  public Uebung8(String title) {
    // Frame-Initialisierung
    super(title);
    setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    int frameWidth = 318;
    int frameHeight = 314;
    setSize(frameWidth, frameHeight);
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (d.width - getSize().width) / 2;
    int y = (d.height - getSize().height) / 2;
    setLocation(x, y);
    Container cp = getContentPane();
    cp.setLayout(null);
    // Anfang Komponenten

    jTextField1.setBounds(96, 80, 97, 28);
    jTextField1.setText("Eingabe");
    cp.add(jTextField1);
    jTextField2.setBounds(24, 144, 233, 28);
    jTextField2.setText("Ausgabe");
    cp.add(jTextField2);
    jLabel1.setBounds(8, 40, 280, 20);
    jLabel1.setText("Bitte geben Sei eine natürliche Zahl ein!");
    jLabel1.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    cp.add(jLabel1);
    jButton1.setBounds(48, 200, 201, 33);
    jButton1.setText("Prüfen!");
    jButton1.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        jButton1_ActionPerformed(evt);
      }
    });
    cp.add(jButton1);
    jLabel2.setBounds(48, 8, 201, 20);
    jLabel2.setText("Primzahl oder normale Zahl?");
    jLabel2.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    cp.add(jLabel2);
    // Ende Komponenten

    setResizable(false);
    setVisible(true);
  }

  // Anfang Methoden
  public void jButton1_ActionPerformed(ActionEvent evt) {
    int divisor = 2;
    int ergebnis;
    boolean primzahl;
    
    String zahltext = Textfeld1.getText();
    int zahl = Integer.parseInt(zahltext);
    
    while((zahl-1) >= divisor){

      ergebnis = zahl % divisor;
      If (erg == 0){
        System.out.println(zahl + " ist KEINE Primzahl");
        primzahl = false;
        break;
      }
      divisor++;
    }
    if (primzahl == true)
    System.out.println(zahl + " ist eine Primzahl");
    
  }

  // Ende Methoden

  public static void main(String[] args) {
    new Uebung8("Uebung8");
  }
}
jetzt zeigt der mir das hier an:
"Uebung8.java:78:20: ';' expected
If (erg == 0){
^
1 error
"
also genau zwischen der runden klammer und der geschweifen klammer soll ich ein simikolon setzen. spinnt der?!

wäre nett wenn jemand das korrigieren (ich glaube theoretisch sollte das programm eigentlich funzen^^)
und wenns geht über checkstyle laufen würde.

daaaaankkee!!
 

Ariol

Top Contributor
Schreib ein kleines "i" statt dem Großen. (beim If)

Java ist case-sensitive. D.h. HALLO!=hallo

EDIT: Die Fehlermeldung ist etwas irreführend...
 

figuerro

Mitglied
ah danke.. ja anfangs hab ich erg benutzt aber dann zum verständnis ergebnis.. und jetzt hab ich alles verbessert was ihr gesagat hab aber steh schon wieder vor nem anderem problem xD

Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

/**
  *
  * Beschreibung
  *
  * @version 1.0 vom 02.09.2009
  * @author
  */

public class Uebung8 extends JFrame {
  // Anfang Attribute
  private JTextField Textfeld1 = new JTextField();
  private JTextField jTextField2 = new JTextField();
  private JLabel jLabel1 = new JLabel();
  private JButton jButton1 = new JButton();
  private JLabel jLabel2 = new JLabel();
  // Ende Attribute

  public Uebung8(String title) {
    // Frame-Initialisierung
    super(title);
    setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    int frameWidth = 318;
    int frameHeight = 314;
    setSize(frameWidth, frameHeight);
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (d.width - getSize().width) / 2;
    int y = (d.height - getSize().height) / 2;
    setLocation(x, y);
    Container cp = getContentPane();
    cp.setLayout(null);
    // Anfang Komponenten

    Textfeld1.setBounds(96, 88, 97, 28);
    Textfeld1.setText("Eingabe");
    cp.add(Textfeld1);
    jTextField2.setBounds(24, 144, 233, 28);
    jTextField2.setText("Ausgabe");
    cp.add(jTextField2);
    jLabel1.setBounds(8, 40, 280, 20);
    jLabel1.setText("Bitte geben Sei eine natürliche Zahl ein!");
    jLabel1.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    cp.add(jLabel1);
    jButton1.setBounds(48, 200, 201, 33);
    jButton1.setText("Prüfen!");
    jButton1.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        jButton1_ActionPerformed(evt);
      }
    });
    cp.add(jButton1);
    jLabel2.setBounds(48, 8, 201, 20);
    jLabel2.setText("Primzahl oder normale Zahl?");
    jLabel2.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    cp.add(jLabel2);
    // Ende Komponenten

    setResizable(false);
    setVisible(true);
  }

  // Anfang Methoden
  public void jButton1_ActionPerformed(ActionEvent evt) {
    int divisor = 2;
    int ergebnis;
    boolean primzahl;
    
    String zahltext = Textfeld1.getText();
    int zahl = Integer.parseInt(zahltext);
    
    while((zahl-1) >= divisor){

      ergebnis = zahl % divisor;
      if (ergebnis == 0){
        System.out.println(zahl + " ist KEINE Primzahl");
        primzahl = false;
        break;
      }
      divisor++;
    }
    if (primzahl == true)
    System.out.println(zahl + " ist eine Primzahl");
    
  }

  // Ende Methoden

  public static void main(String[] args) {
    new Uebung8("Uebung8");
  }
}

Fehlermeldung:
"Uebung8.java:85:9: variable primzahl might not have been initialized
if (primzahl == true)
^
1 error"

das komische ist.. ich hab sie vor der while schleife initialisiert^^

was tun?^^
(sorry wenn ich euch so mit meinen anfängerfehlern penetriere...:oops: )

mfg figuerro
 

Schandro

Top Contributor
das komische ist.. ich hab sie vor der while schleife initialisiert^^
Nein, hast du nicht. Du hast sie nur deklariert:
Code:
boolean primzahl;
Du musst sie auch initialisieren:
Code:
boolean primzahl = true;
 

Ariol

Top Contributor
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

/**
 * 
 * Beschreibung
 * 
 * @version 1.0 vom 02.09.2009
 * @author
 */

public class Uebung8 extends JFrame
{
	// Anfang Attribute
	private JTextField	inputTextfield	= new JTextField("Eingabe");
	private JTextField	outputTextfield	= new JTextField("Ausgabe");
	private JLabel		inputLabel		= new JLabel("Bitte geben Sei eine natürliche Zahl ein!");
	private JButton		submitButton	= new JButton("Prüfen!");
	private JLabel		outputLabel		= new JLabel("Primzahl oder normale Zahl?");

	// Ende Attribute

	public Uebung8()
	{
		// Frame-Initialisierung
		super("Primzahltest");
		setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
		int frameWidth = 318;
		int frameHeight = 314;
		setSize(frameWidth, frameHeight);
		setLocationRelativeTo(null); // Zentriert
		setLayout(null);

		// Anfang Komponenten

		// Komponeten-Position
		inputTextfield.setBounds(96, 88, 97, 28);
		outputTextfield.setBounds(24, 144, 233, 28);
		inputLabel.setBounds(8, 40, 280, 20);
		submitButton.setBounds(48, 200, 201, 33);
		outputLabel.setBounds(48, 8, 201, 20);

		// Listener setzen
		submitButton.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent evt)
			{
				jButton1_ActionPerformed(evt);
			}
		});

		// Schriftarten ändern
		inputLabel.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
		outputLabel.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));

		// Weitere Eigenschaften
		outputTextfield.setEditable(false);

		// Komponenten hinzufügen
		add(inputTextfield);
		add(outputTextfield);
		add(inputLabel);
		add(submitButton);
		add(outputLabel);
		// Ende Komponenten

		setResizable(false);
		setVisible(true);
	}

	// Anfang Methoden
	public void jButton1_ActionPerformed(ActionEvent evt)
	{
		try
		{
			String zahltext = inputTextfield.getText();
			int zahl = Integer.parseInt(zahltext);
			boolean prime = isPrime(zahl);

			if (prime)
				outputTextfield.setText(zahl + " ist eine Primzahl");
			else
				outputTextfield.setText(zahl + " ist KEINE Primzahl");
		}
		catch (NumberFormatException nfe)
		{
			outputTextfield.setText("Keine gültige Zahl eingegeben!");
		}
	}

	private boolean isPrime(int number)
	{
		for (int div = 2; div <= (number - 1); div++)
		{
			if ((number % div) == 0)
			{
				return false;
			}
		}
		return true;
	}

	private boolean isPrime2(int number)
	{
		for (int div = 3; div <= (number / 2); div += 2)
		{
			if ((number % div) == 0)
			{
				return false;
			}
		}
		return true;
	}

	private boolean isPrime3(int number)
	{
		int u = 4;
		int mod = (int) (Math.pow(2, number) - 1);
		for (int i = 0; i < (number - 2); i++)
		{
			u = (int) ((Math.pow(u, 2) - 2) % mod);
		}
		return u == 0;
	}
}

Um mal etwas Ordung in deinen Code zu bringen.

EDIT: Denk mal über einen Layout-Manager nach.
 

Quaxli

Top Contributor
Nur so am Rande: Anstelle von

if(primzahl==true)

würde es auch

if(primzahl)

tun.

Die Angabe in der Klammer muß ja einen boolschen Wert ergeben, d. h. etwas, daß man mit true oder false bewerten kann, was ja bei einer Variable vom Typ boolean von Haus aus gegeben ist.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Ganzzahlige Werte in Boolean ausgeben und überprüfen ob Primzahl oder nicht, wenn es keine Primzahl ist soll es die Primfaktorzerlegung ausgeben Java Basics - Anfänger-Themen 4
G primzahl oder nicht? Java Basics - Anfänger-Themen 16
P Primzahl mit Angabe der höchsten Primzahl und Angabe der Anzahl von Primzahlen bis 100 Java Basics - Anfänger-Themen 8
O Primzahl rekursiv mit einem Wert ohne i, wie? Java Basics - Anfänger-Themen 6
O Erste Schritte Primzahl Methode Java Basics - Anfänger-Themen 8
I Erste Schritte Testen, ob eine Zahl eine Primzahl ist Java Basics - Anfänger-Themen 8
O Primzahl bis n Java Basics - Anfänger-Themen 5
D Primzahl Aufgabe Java Basics - Anfänger-Themen 5
R Primzahl ja/nein - besserer Code möglich? Java Basics - Anfänger-Themen 2
T Primzahl Java Basics - Anfänger-Themen 12
I Höchste Zahl berechnen die eine Eingabe ohne Rest teilt und eine Primzahl ist Java Basics - Anfänger-Themen 2
U Primzahl-Tester Java Basics - Anfänger-Themen 3
A 10001-te Primzahl herausfinden Java Basics - Anfänger-Themen 5
L primzahl Java Basics - Anfänger-Themen 54
R Primzahl kleiner 3 Java Basics - Anfänger-Themen 2
T Primzahl Schleife Java Basics - Anfänger-Themen 15
X Primzahl Ausgabe falsch Java Basics - Anfänger-Themen 10
M Primzahl Java Basics - Anfänger-Themen 11
D Array Fehler / groesste Primzahl suchen Java Basics - Anfänger-Themen 4
S Primzahl in einem Array finden Java Basics - Anfänger-Themen 21
J Primzahl mit for Schleife Java Basics - Anfänger-Themen 4
A Fehler im Primzahl Programm Java Basics - Anfänger-Themen 17
S Primzahl berechnen in Java Java Basics - Anfänger-Themen 7
K Primzahl//immer true Java Basics - Anfänger-Themen 7
ven000m Primzahl.class wie starte ich diese einzelne Datei? Java Basics - Anfänger-Themen 10
M Primzahl Java Basics - Anfänger-Themen 8
W Nächstgelegene Primzahl Java Basics - Anfänger-Themen 3
I Primzahl suchen Java Basics - Anfänger-Themen 5
A "Hello World"-Programm läuft nicht Java Basics - Anfänger-Themen 16
D Regex greift nicht richtig Java Basics - Anfänger-Themen 4
richis-fragen JTable den angezeigten WERT nicht den Wert aus dem Model ausgeben. Java Basics - Anfänger-Themen 3
richis-fragen JTable Header ausgeblendete (width = 0) nicht per mouseDragged aufziehen. Java Basics - Anfänger-Themen 9
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
K Warum wird mir auf der Konsole des Servers nicht "xxxx" angezeigt (Server/Client) Java Basics - Anfänger-Themen 4
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
richis-fragen JTable effektiv angezeigter Text ausgeben nicht Inhalt vom Model Java Basics - Anfänger-Themen 9
S nach Import von jars (PLC4x) in Eclipse kann nicht mehr compiliert werden Java Basics - Anfänger-Themen 9
J Datenüberwachung funktioniert nicht Java Basics - Anfänger-Themen 9
S Wie debugge ich dies am besten: SingleThreadExecutor führt Task nicht aus..? Java Basics - Anfänger-Themen 29
H JDK installieren jdk-21 wird nicht erkannt Java Basics - Anfänger-Themen 13
N Klassen Hintergrundfarbe in JPanel ändert sich nicht Java Basics - Anfänger-Themen 3
K Warum wird mir "Empfangen vom Client:" nicht sofort ausgegeben(Server/Client) Java Basics - Anfänger-Themen 3
mo13 JTextField funktioniert nicht Java Basics - Anfänger-Themen 4
J .jar datei öffnen funktioniert nicht Java Basics - Anfänger-Themen 17
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
K Verstehe Rekursion nicht ganz Java Basics - Anfänger-Themen 7
M OOP Brüche nicht richtig berechnen Java Basics - Anfänger-Themen 3
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6
K TicTacToe belegtes feld nicht neu besetzbar Java Basics - Anfänger-Themen 1
K TicTacToe belegtes Feld nicht neu besetzbar Java Basics - Anfänger-Themen 3
A Warum wird mein jdk nicht gefunden? Java Basics - Anfänger-Themen 3
M Queue-Datenstruktur: nach dem Elementen entfernen, das Ergebnis ist immer noch nicht optimal. Java Basics - Anfänger-Themen 3
K Programm compilierbar aber nicht ausführbar... Java Basics - Anfänger-Themen 21
N Hey Leute und zwar versuche ich gerade ein 2D Spiel zu Programmieren aber die Figur will sich nicht nach links oder rechts bewegen :( Java Basics - Anfänger-Themen 12
G Mit jPackage erstellte EXE funktioniert nicht Java Basics - Anfänger-Themen 2
N BMI Rechner Was haltet ihr von dem Code habt ihr Verbesserungsvorschläge weil design teschnisch ist das nicht das geilste würde das gerne überarbeiten Java Basics - Anfänger-Themen 12
G Robot funktioniert nicht bei SelectionListener Java Basics - Anfänger-Themen 6
D MacOS: PDF erstellen geht nicht Java Basics - Anfänger-Themen 1
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
J jar Befehl wird nicht erkannt Java Basics - Anfänger-Themen 7
missy72 Erste Schritte (nicht) Deterministischer endlicher Automat Java Basics - Anfänger-Themen 9
T Getter/Setter - wie sieht ein Setter aus? Und wie nicht? Java Basics - Anfänger-Themen 34
T catch(InputMismatchException) wird nicht ausgefürt/erkannt Java Basics - Anfänger-Themen 12
T Methode akzeptiert String nicht Java Basics - Anfänger-Themen 18
P Netbeans installation geht nicht Java Basics - Anfänger-Themen 26
R RegEx funktioniert nicht Java Basics - Anfänger-Themen 14
T HashMap Lsite gibt die sachen nicht aus wie gewollt. Java Basics - Anfänger-Themen 3
H Counter durch gepresste Taste nur auf 1 erhöhen und nicht durchzählen lassen Java Basics - Anfänger-Themen 7
S 2 Reihen ratio-btn, eine Reihe funktioniert andere nicht Java Basics - Anfänger-Themen 4
T scanner nicht erkannt Java Basics - Anfänger-Themen 3
monsterherz Punkt Notation funktioniert nicht Java Basics - Anfänger-Themen 4
monsterherz Fehler Semikolon fehlt - ich weiss aber nicht wo da noch eines hin sollte... Java Basics - Anfänger-Themen 21
R Java kann nicht installiert werden Java Basics - Anfänger-Themen 8
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
monsterherz einfache Methode mit Fehler den ich nicht finde Java Basics - Anfänger-Themen 21
monsterherz if / else if mit Fehler den ich leider nicht finde Java Basics - Anfänger-Themen 11
D Jar Datei startet unter Linux nicht Java Basics - Anfänger-Themen 3
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
KeinJavaFreak Erste Schritte Java "Executable Jar File" nicht vorhanden Java Basics - Anfänger-Themen 1
M Konstruktor-Aufruf im Konstruktor, aber nicht am Anfang? Java Basics - Anfänger-Themen 4
G Variable aktualisiert sich nicht in rekursiver Methode Java Basics - Anfänger-Themen 4
Darkherobrine9 Import klappt nicht Java Basics - Anfänger-Themen 7
N Programm Funktioniert mit .txt Datei aber nicht mit .rtf Datei Java Basics - Anfänger-Themen 2
R Compiler-Fehler Variable wird nicht gefunden bzw. erkannt? Java Basics - Anfänger-Themen 2
_so_far_away_ Inventarisierungssystem brauche switch Cases und weiß nicht, wie ich e implementieren muss Java Basics - Anfänger-Themen 5
P BeforeEach AfterEach werden nicht ausgeführt. Java / Selenium Java Basics - Anfänger-Themen 4
I Erste Schritte Einfache Datenbank-Webseite erstellen als Nicht-IT-lerin Java Basics - Anfänger-Themen 24
N Interpreter-Fehler Compiler zeigt keine Fehler an, aber das Programm läuft nicht (BlueJ) Java Basics - Anfänger-Themen 2
D Quellcode für cmd funktioniert nicht Java Basics - Anfänger-Themen 9
C Kann mir jemand sagen warum ich nicht mal rechnen kann ? Java Basics - Anfänger-Themen 32
K Java Lotto Spiel; ich komme nicht weiter Java Basics - Anfänger-Themen 15
A JavaFX-Anwendung läuft nicht mit Selenium WebDriver Java Basics - Anfänger-Themen 0
T Meine Klasse wird nicht gefunden Java Basics - Anfänger-Themen 1
T Wie kann man es machen das ein Objekt nicht übermalt wird Java Basics - Anfänger-Themen 2
H Cast von Float nach String klappt nicht Java Basics - Anfänger-Themen 12
heinrich172 Methoden Trotz gleichem Element stimmt Vergleich nicht? Java Basics - Anfänger-Themen 7
I Entity Objekt nicht gefunden -> Webhook empfangen in der gleichen Methode (Transaktion) Java Basics - Anfänger-Themen 37
K warum kann ich das Objekt nicht erstellen ? Java Basics - Anfänger-Themen 2
MiMa Ungültiges Datum wird nicht erkannt ?? Java Basics - Anfänger-Themen 6
J Meine Mails gehen nicht raus Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben