Brauche Hilfe für mein übungsprogramm

dk101

Neues Mitglied
Hallo zusammen,
ich versuche gerade zu lernen wie man mit Java programmiert und hab versucht mithilfe von Eclipse und einem Windowbuilder ein kleines übungsprogramm zusammenzustellen das die Fläche eines Kreises berechnet. Mein Problem ist das ich nicht in der Lage bin die Daten des Jtextfields für den ActionListener bereitzustellen und das Ergebniss in ein JLabel zu packen.

Hier das Window das Eclipse relativ automatisch erstellt hat:

Java:
import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JLabel;


@SuppressWarnings({ "unused", "serial" })
public class mainFrame extends JFrame {

    private JPanel contentPane;
    protected JTextField radius;

    /**
    * Launch the application.
    */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    mainFrame frame = new mainFrame();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
    * Create the frame.
    */
    public mainFrame() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 450, 300);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        setContentPane(contentPane);
        contentPane.setLayout(null);
       
        radius = new JTextField();
        radius.setText("Insert Radius");
        radius.setBounds(116, 13, 116, 22);
        contentPane.add(radius);
        radius.setColumns(10);
       
        JButton calculate = new JButton("Calculate");
        calculate.setBounds(116, 48, 97, 25);
        contentPane.add(calculate);
       
        JLabel resultlabel = new JLabel("");
        resultlabel.setBounds(126, 107, 56, 16);
        contentPane.add(resultlabel);
       
        calculate.addActionListener(new flaeche());
    }
}

Hier ist der ActionListener. Ich hab versucht die Variablen aus dem Frame mit "Extends" für den Actionlistener benutzbar zu machen. Komischerweise erkennt Eclipse, dass radius ein JTextfield ist, aber nicht dass resultlabel das Ergebniss anzeigen soll.

Java:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;


@SuppressWarnings("serial")
public class flaeche extends mainFrame implements ActionListener  {

    @Override
    public void actionPerformed(ActionEvent e) {
        rechnung result = new rechnung ();
        double r = Double.parseDouble(radius.getText());
        String text = String.valueOf(result.calcErgebnis(r));
        resultlabel.setText(text);       

    }
   

}

Dann noch die Rechnungs Klasse:

Java:
@SuppressWarnings("serial")
public class rechnung extends mainFrame {
private double ergebnis;
public  double calcErgebnis(double r){
    ergebnis = r*r*Math.PI;
    return ergebnis;
   
       
   
}
}

Ich weis das Programm ist etwas umständlich, aber ich versuche mich mit den Fenstern, ActionListenern und Klassen vertraut zu machen. Ich hoffe ihr könnt mir helfen.

Vielen dank im voraus,

dk101
 

anti-held

Bekanntes Mitglied
Bitte schreib doch die Klassennamen groß!!!

Du kannst die Variable nicht sehen, weil sie in einer anderen Klasse definiert ist. Es sind nicht alle Variablen global.

Als Lösung könntest du wenn du deine lokale Variable resultlabel als final definierst [c]final JLabel resultlabel = new JLabel("");[/c] eine anonyme Klasse für deinen Actionlistener verwenden:

Java:
        calculate.addActionListener(new ActionListener() {

    @Override
    public void actionPerformed(ActionEvent e) {
        rechnung result = new rechnung ();
        double r = Double.parseDouble(radius.getText());
        String text = String.valueOf(result.calcErgebnis(r));
        resultlabel.setText(text);
    
    
    });

So brauchst du deine fläche Klasse nicht mehr.
 

Yaha

Mitglied
Hi Leute,
ich habe eine kleine Aufgabe und komme damit überhaupt nicht klar!
Hier:

Programmierung eines Würfels und Berechnung des durchschnittlichen Gewinns. Der Gewinn ist die Summe der Augenzahlen, bei 1 ist der Gewinn jedoch Null. Das Programm soll die durchschnittliche Gewinnsumme für 30 Serien á 1000 Würfe berechnen. Wurfbefehl (war angegeben): 1+(int)(Math.random()*6) Berechnung mittels geeigneter Methoden.


Könnte mir jemand bei dieser Aufgabe helfen?
 

Yaha

Mitglied
Ich habe echt keine Ahnung. Bin mega der Noob bei dieser Aufgabe, habe durch die Tutorials bei Youtube versucht mir die Themen anzueignen. Mir wuerde allein eine grobe Loesung helfen.
Danke im Vorraus.
 

anti-held

Bekanntes Mitglied
Also deine Hausaufgaben wird dir hier keiner machen.

Ein Wille, etwas zu lernen bzw. zu verstehen muss schon vorhanden sein.

Erstell dir doch eine Methode Wurf, die dir das Ergebnis des Würfelwurfs als Zahl zurückgibt.
Leg dir eine int/long Variable augen an und führe in einer Schleife die Methode wurf 1000 mal aus und addiere die Ergebnisse immer auf die augen drauf. Anschließend teilst du einfach den Wert von augen durch die Anzahl der Würfe und hast so das Ergebnis.
 

DefconDev

Bekanntes Mitglied
Hi Leute,
ich habe eine kleine Aufgabe und komme damit überhaupt nicht klar!
Hier:

Programmierung eines Würfels und Berechnung des durchschnittlichen Gewinns. Der Gewinn ist die Summe der Augenzahlen, bei 1 ist der Gewinn jedoch Null. Das Programm soll die durchschnittliche Gewinnsumme für 30 Serien á 1000 Würfe berechnen. Wurfbefehl (war angegeben): 1+(int)(Math.random()*6) Berechnung mittels geeigneter Methoden.


Könnte mir jemand bei dieser Aufgabe helfen?

Mal abgesehen ist die Aufgabenstellung etwas unpräzise.

Der Gewinn ist die Summe der Augenzahlen, bei 1 ist der Gewinn gleich null.

Sicher dass du die Frage hier richtig übertragen hast?

Denn die Summe ist für mich immer noch die Addition zweier Summanden. Das heißt, solltest du einmal werfen, entsteht für mich keine SUmme sondern erst einmal ein Summand.


30 Serien? heißt das 30.000 Würfe ingesamt?
 

Yaha

Mitglied
Java:
public class A1 {

	static int throwDice() {
		return 1 + (int)(Math.random() * 6);
	}

	static int diceSeries(int n) {
		int points = 0;
		for (int i = 1; i <= n; i++) {
			int res = throwDice();
			if (res == 1) return 0;
			points += res;
		}
		return points;
	}

	public static void main(String args[]) {
		for (int n = 1; n < 30; n++) {
			int totalPoints = 0;
			for (int i = 1; i <= 1000; i++)
				totalPoints += diceSeries(n);
			Out.println(n + "-Serie: Punkteschnitt = " + (float)totalPoints / 1000);
		}
	}
}


Habe diesen code soweit in einem Buch gefunden, jedoch spuckt der mir bei Eclipse nichts raus.. weiß einer woran das liegt?
mfg

Hier nochmal im Anhang die komplette Aufgabe.
 

Anhänge

  • würfelaufgabe.jpg
    würfelaufgabe.jpg
    47,8 KB · Aufrufe: 33
Zuletzt bearbeitet:

Yaha

Mitglied
Vorallem wenn ich das "starten" möchte, gibt mir ein kleines Fenster die Möglichkeit die Auswahl von zwei codes ?!
 
Zuletzt bearbeitet:

DefconDev

Bekanntes Mitglied
Ganz ehrlich langsam wird es lächerlich, dir zu helfen ist eigentlich vergebens, weil du möchtest nur einen fertigen Code der funktionert und mit dem Thema abschließen. Ich sehe keinerlei Bemühungen von dir, dich mit dem Code oder dem Programm auseinander zu setzen.

Du bist nicht in der Lage die Aufgabenstellung richtig zu übertragen, noch bist du fähig den Code richtig zu posten.

Wenn du schon copy&paste benutzt, wäre es doch von Vorteil diesen mal in deine Entwicklungsumgebung zu kopieren, da wird dir sofort schon mal angezeigt das System.out... nen Fehler hat. Dann fehlt ebenso nach der zweiten for schleife in der Main Methode die eröffnede Klammer und die schließende.

Mich würde mal interessieren aus welchem Buch du diesen Code hast, bis heute erinnern mich solche Beispiele immer an c, wenn funktionen bzw. Methoden als erstes gesetzt werden und dann die main Methode als letztes. Und dann spricht alle welt immer von Lesbarkeit, die Variabelnamen sind schlecht gewählt und ebenso die Hilsvariablen in den Methoden. Generell verstehe ich nicht wie man für so eine Kinderübung zwei Methoden schreiben muss. Mir jedenfalls fällt es bis heute immer schwerer in einem 3 Zeilen code fünf verschiedene Methoden zu durchgehen. Auch der Schreibaufwand wäre viel geringer wenn man das alles in eine Main stecken würde.
 

Yaha

Mitglied
Java:
package a1;

	public class a1 {
		
		static int wirfWürfel() {
			return 1 + (int)(Math.random() * 6);
		}
		static int würfelSerien(int n) {
			int punkte = 0;
			for (int i = 1; i <= n; i++) {
				int erg = wirfWürfel();
				if (erg == 1) return 0;
				punkte += erg;
			}
			return punkte;
			}

		public static void main(String args[]) {
			for (int n = 1; n < 30; n++) {
				int allePunkte = 0;
				for (int i = 1; i <= 1000; i++){
					allePunkte += würfelSerien(n);
				System.out.println(n + "-Serie: Punkteschnitt = " + (float)allePunkte / 1000);
	
}
			}
		}
	}


Hab mich schon ein wenig mit dem Thema beschäftigt.. ich habe das jetzt alles umgeändert, da mir der keine Fehler angezeigt hat.. habe ich das jetzt einmal so aufgeschrieben.. bei mir kommen von 30 Serien am Ende als Ergebnis irgendwie lediglich die 27, 28 und 29. Serie raus.. und das in Überzahl :S

Naja ich habe diese Aufgabe bei Sprechen Sie Java? gefunden, da ich das Buch angefangen habe zu lesen...

Vielleicht jetzt eine kleine Hilfe ?
 

hauptDev

Bekanntes Mitglied
Dann bist du kein aufmerksamer Leser. Arrays beginnen bei Index 0, folglich musst du auch bei Index 0 in den Schleifen beginnen.

Wenn du eine Schleife erstellst, in welcher ca. 30x eine weitere Schleife mit ~1000 Durchläufen und Ausgaben erzeugst, hast du folglich ~30000 Ausgaben.

[TIPP]Den Text lesen und nicht nur von Aufgabe zu Aufgabe springen und dann daran verzweifeln.[/TIPP]
 

DefconDev

Bekanntes Mitglied
@hauptDev, er benutzt aber keine Arrays, daher ist es schon sinnig wenn er mit 1 anfängt.

@YAHA, ich hoffe du setzt dich an den Schreibtisch und lernst weiter, ich glaube es jedenfalls nicht. Trotzdem hatte ich heute meinen Sozialen und gebe dir den Code. Das letzte System.out.print zeigt dir an, wie hoch der Durchschnitt bei 30.000 Würfen war.
Java:
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package a1;

    public class a1 {
     
        static int throwDice() {
            return 1 + (int)(Math.random() * 6);
        }
     
        static int diceSeries(int n) {
            int points = 0;
            for (int i = 1; i <= n; i++) {
                int res = throwDice();
                if (res == 1) return 0;
                points += res;
            }
            return points;
        }
     
        public static void main(String args[]) {
            
            int durchschnittProWurf = 0;
            for (int n = 1; n <= 30; n++) 
            {     int totalPoints = 0;
                
                for (int i = 1; i <= 1000; i++)
                {
                    totalPoints += diceSeries(n);
                    durchschnittProWurf+=diceSeries(n);
                }
             System.out.println(n + "-Serie: Punkteschnitt = " + (float)totalPoints / 1000);
            }
                
          System.out.println("Durchschnitt pro Wurf " + (float)durchschnittProWurf / 30000);     
        
            
    }
}
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Ich brauche hilfe für meine Klausur Java Basics - Anfänger-Themen 13
S Klassen Brauche Hilfe bei Erstellung einer Klasse für einen Tachenrechner!!! Java Basics - Anfänger-Themen 6
H mysql brauche hilfe, wer kann eine (längere) aufgabe für mich erledigen Java Basics - Anfänger-Themen 2
B Erste Schritte HILFE Brauche ein Beispiel für korrekte Syntax mit Semantikfehlern Java Basics - Anfänger-Themen 6
B Erste Schritte Brauche Hilfe für ein UML Diagramm Java Basics - Anfänger-Themen 7
L Brauche bitte dringend Hilfe für Klausur Java Basics - Anfänger-Themen 8
M Brauche Hilfe bei Javaapplication für JuFo Java Basics - Anfänger-Themen 21
P Brauche Hilfe für JPanel im JScrollPane und Abstände Java Basics - Anfänger-Themen 2
B Brauche Hilfe zu einem Code Java Basics - Anfänger-Themen 5
J Brauche Hilfe bei for-each Aufgabe Java Basics - Anfänger-Themen 1
HeiTim Brauche Hilfe soll ein nummeriertes Feld ausgeben lassen Java Basics - Anfänger-Themen 17
J Brauche Hilfe bei Aufgabe Java Basics - Anfänger-Themen 4
H Brauche Hilfe Java Basics - Anfänger-Themen 2
H Brauche hilfe Java Basics - Anfänger-Themen 3
C Brauche Hilfe beim Schreiben eines Programmes :/ Java Basics - Anfänger-Themen 1
C Brauche Hilfe um ein Programm zu schreiben Java Basics - Anfänger-Themen 8
Leo0909 Ich brauche Hilfe bei dieser Aufgabe Java Basics - Anfänger-Themen 2
H Brauche Hilfe in Java Eclipse Programmieraufgabe Neuling Java Basics - Anfänger-Themen 3
D Brauche Dringend Hilfe...Prozedur/Funktionsprozedur Ergebnis augeben Java Basics - Anfänger-Themen 11
I Brauche Hilfe bei Objektorientiertem programmieren Java Basics - Anfänger-Themen 23
M Brauche Hilfe bei If-Scheifen Java Basics - Anfänger-Themen 2
F ich brauche Hilfe bei Listen Java Basics - Anfänger-Themen 13
J Ich brauche Hilfe bei einem Code (Variablen speichern) Java Basics - Anfänger-Themen 29
E Ich Brauche Hilfe Java Basics - Anfänger-Themen 3
L Brauche Hilfe beim arbeiten mit Konstruktoren Java Basics - Anfänger-Themen 20
J Brauche Hilfe bei einer aufgabe Java Basics - Anfänger-Themen 1
S Brauche hilfe in Java [Fehler in mein Code]? Java Basics - Anfänger-Themen 2
B BITTE!! Ich brauche dringende Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 17
TpKey10 Ich brauche Hilfe Java Basics - Anfänger-Themen 14
F Ich brauche Hilfe bei Objektorientierter Programmierung... Java Basics - Anfänger-Themen 19
L Input/Output Wurzelzeichen in der Konsole ausgeben | Brauche Hilfe Java Basics - Anfänger-Themen 6
J Brauche Hilfe bei dieser Aufgabe Java Basics - Anfänger-Themen 3
T Brauche Hilfe um ein Programm zu verstehe Java Basics - Anfänger-Themen 4
J Brauche Hilfe !! Java Basics - Anfänger-Themen 8
R Spielfeldbegrenzung einfügen (Java)? Brauche Hilfe! Java Basics - Anfänger-Themen 15
C Brauche dringend Hilfe. Umfrage mit ja und nein in Java erstellen? Java Basics - Anfänger-Themen 12
U Brauche Hilfe bei Programmierung einer Produktdatenbank App Java Basics - Anfänger-Themen 4
P Brauche Hilfe bei ResultSet mit MySQL Java Basics - Anfänger-Themen 6
T Datentypen Brauche Hilfe bei Arrays Java Basics - Anfänger-Themen 3
U Brauche Hilfe bei Bisektionsverfahren Java Basics - Anfänger-Themen 23
E Erste Schritte brauche hilfe zum verstehen einer Klasse(Tiefensuche) Java Basics - Anfänger-Themen 17
I Brauche Hilfe bei Schleifen Java Basics - Anfänger-Themen 18
B Java Graphen zeichnen - Brauche Hilfe Java Basics - Anfänger-Themen 9
S brauche hilfe bei Fehlersuche Java Basics - Anfänger-Themen 7
M JDK installieren Brauche dringend Hilfe Java Basics - Anfänger-Themen 2
L Brauche Hilfe bei Preisberechnungspogramm Java Basics - Anfänger-Themen 1
D Hilbert und Peano Kurve, ich brauche Hilfe Java Basics - Anfänger-Themen 4
S Brauche hilfe bei Pong (JFrame) Java Basics - Anfänger-Themen 2
V Hilfe-brauche eine Idee! Java Basics - Anfänger-Themen 5
R Brauche Hilfe beim fertigstellen eines Chat programms Java Basics - Anfänger-Themen 8
A Erste Schritte Brauche Hilfe Java Basics - Anfänger-Themen 2
W Brauche hilfe bei Hausübung Java Basics - Anfänger-Themen 10
D Brauche Hilfe bei Modulo (Übungsaufgabe) Java Basics - Anfänger-Themen 14
X Brauche Hilfe bei printOnScreen Methode !!! Java Basics - Anfänger-Themen 2
K Erste Schritte Brauche Hilfe bei Starten des Programms Java Basics - Anfänger-Themen 11
H Java von Kopf bis Fuß: Brauche Hilfe Java Basics - Anfänger-Themen 6
B Erste Schritte Brauche Hilfe bei einem Java-Taschenrechner Java Basics - Anfänger-Themen 11
S brauche hilfe beim fehler finden Java Basics - Anfänger-Themen 2
S Erste Schritte BlueJ-Aufgabe: Programmcode / Brauche dringend Hilfe !!! Java Basics - Anfänger-Themen 37
A Brauche Hilfe bei Division von Feldzahl durch Ganzzahl Java Basics - Anfänger-Themen 3
F Java-Anfänger, brauche Hilfe Java Basics - Anfänger-Themen 3
F Java-Anfänger, brauche Hilfe Java Basics - Anfänger-Themen 2
C Brauche dringend hilfe beim exception im code Java Basics - Anfänger-Themen 5
G Brauche bitte Hilfe, bei umgekehrter Ausgabe!! Java Basics - Anfänger-Themen 6
S ICh brauche Hilfe,weil Java in der Schule Java Basics - Anfänger-Themen 11
B Brauche Hilfe mit Aufgaben mit dem JavaEditor Java Basics - Anfänger-Themen 8
I Primzahlenberechnung [Brauche Hilfe] Java Basics - Anfänger-Themen 5
T brauche HILFE beim Junit test:eek: Java Basics - Anfänger-Themen 11
F Reader - brauche Hilfe Java Basics - Anfänger-Themen 19
T Brauche Hilfe bei Variabeln Java Basics - Anfänger-Themen 4
J Brauche Hilfe mit replaceFirst Java Basics - Anfänger-Themen 10
M Brauche Hilfe bei Struktogramm Java Basics - Anfänger-Themen 9
T Datentypen brauche dringende hilfe!dezi in Asci umwandeln! Java Basics - Anfänger-Themen 4
X DB4O Collections and Arrays, brauche dringend Hilfe! Java Basics - Anfänger-Themen 3
B brauche hilfe bei funktion erstellen Java Basics - Anfänger-Themen 8
S Brauche Hilfe bei if/else Java Basics - Anfänger-Themen 3
N Brauche Hilfe mit Kollisionserkennung! Java Basics - Anfänger-Themen 16
J Brauche Hilfe bei Methode Java Basics - Anfänger-Themen 9
Y Brauche Hilfe beim Programm Java Basics - Anfänger-Themen 83
G 2 dim. Strsing Arrays brauche Hilfe Java Basics - Anfänger-Themen 20
A Brauche hilfe String untertrennen Java Basics - Anfänger-Themen 12
H Brauche bei einen bsp hilfe! Java Basics - Anfänger-Themen 2
D Währungsrechner brauche Hilfe Java Basics - Anfänger-Themen 10
R Vokabeltrainer / Brauche Hilfe Java Basics - Anfänger-Themen 8
L Brauche Hilfe! Java Basics - Anfänger-Themen 8
S WAV-DATEIEN INTERPRETIEREN UND UMWANDELN Brauche Hilfe Java Basics - Anfänger-Themen 3
A Brauche Hilfe mit einer Forschleife Java Basics - Anfänger-Themen 20
N brauche Hilfe Stringverarbeitung Java Basics - Anfänger-Themen 9
JeromeM90 (Brauche Hilfe) Binär- in Dezimalzahlkonverter Java Basics - Anfänger-Themen 8
M Brauche Hilfe beim Verstehen vom Quellcode Java Basics - Anfänger-Themen 4
A brauche hilfe ( gpanel und n-ecke) Java Basics - Anfänger-Themen 11
V Brauche Hilfe beim Programmieren Java Basics - Anfänger-Themen 3
V Brauche Hilfe beim Programmieren Java Basics - Anfänger-Themen 9
S Brauche Hilfe mit waitFor() Java Basics - Anfänger-Themen 4
N Brauche dringende Hilfe Java Aplett läuft nicht! Java Basics - Anfänger-Themen 3
D Brauche Hilfe: Funktion zum Kombinieren von Werten Java Basics - Anfänger-Themen 5
T Brauche Hilfe: Access DB + Hashmap Java Basics - Anfänger-Themen 2
S brauche hilfe beim dateien kopieren / bearbeiten Java Basics - Anfänger-Themen 3
E brauche hilfe beim KeyListener Java Basics - Anfänger-Themen 4
N brauche hilfe zu tictactoe Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben