ActionEvent.Taschenrechner und seine Probleme

Status
Nicht offen für weitere Antworten.
C

Chris_21

Gast
Hi Leute,

ich poste erstmal meinen Code:

Code:
import java.awt.event.*;
import java.awt.Button;
import java.lang.Double;
import java.util.StringTokenizer;

public  class meinActionListener implements ActionListener {
	public C17Layout2 f;
	private String zahl;
	private String z=null;
	private char c;
	private Object obj;
	private double z1;
	private double z2;
	private double zw;

	//Konstruktor übergibt Hauptklasse mit Komponenten:
	public meinActionListener(C17Layout2 f) {
		this.f = f;	
	}
		
	public void actionPerformed(ActionEvent e) {
		
		char c = e.getActionCommand().charAt(0);
		Object obj = e.getSource();
		
		this.c = c;
		this.obj=obj;
		
		//speicher mir die eingebenen Zahlen in einer Kette 
                                if (obj instanceof Button)
			if (Character.getType(c) == Character.DECIMAL_DIGIT_NUMBER)  
			{
			    f.eingabefeld.setText(f.eingabefeld.getText() +c);
			    zahl=f.eingabefeld.getText();
			}
		if (c=='+' | c=='-'| c=='*' | c=='/') 
		{	
			zahl = (f.eingabefeld.getText() +c);
			f.eingabefeld.setText("");
			stringKette();
		}
		
		if (obj == f.btnOff) System.exit(0);
	
		//wenn das = gedrückt wird nehme mir die 
                                if (c=='=')
		{
			stringKette();
			f.eingabefeld.setText("");
			berechne();
		}	
		if (obj==f.btnC)
		{
			z=null;
		}
					
	}
	
	public void stringKette() 
	{
		if (z==null) 
		{
			z=zahl;
		}
		else
			z = z + zahl ;
	}
		
	/*public double holeZahl() {
	    //eingebene Zahl wird gespeichert
		if (obj instanceof Button)
			if (Character.getType(c) == Character.DECIMAL_DIGIT_NUMBER)  {
			    f.eingabefeld.setText(f.eingabefeld.getText()+c);
			    
			}
			zw= Double.parseDouble(f.eingabefeld.getText());	
			System.out.println(zw);
			return zw;
			//z1= Double.parseDouble(f.eingabefeld.getText());
			
	}
                */

	public void berechne(){
		//wenn eine Operation gedrückt wurde nehme mir die StringKette auseinander und berechnedie Zahlen
		char op;
		String []o = null;
		
		StringTokenizer st = new StringTokenizer(z, "+ - * /", true);
		
		for (int i=0; st.hasMoreElements() ; i++)
		{
			//o[i] = st.nextToken();
			System.out.print(i);
		}	
	}	
		
	/*	while (st.hasMoreTokens()) {
	     	o= st.nextToken();
	     	/*op = o.charAt(0); 
	     	if (op=='+')
	     	{
	     		//z1=Double.parseDouble(o);
	     		//o= st.nextToken();
	     		//z2=Double.parseDouble(o);
	     		//zw=z1+z2;
	     		//System.out.println(o);
	     	}
	     	*/
	  }

Das ganze muss am Ende ein Taschenrechner werden...Über das ActionEvent bekomme ich die gedrückten Buttons. Ich finde nur keinen sinnvollen weg, wie ich mit den Zahlen umgehen soll. Ich hatte schon versucht die erste Zahl zu speichern auf die Operation zu warten und dann die zweite Zahl zu holen (was mir nicht gelungen ist dafür habe ich die Methode holeZahl geschrieben), mom versuche ich es über eine Stringkette komme aber nicht wirklich weiter :( Hat jmd einen Idee wie ich das am besten anpacke? Bzw. kann mir auch was zum Code schreiben, ich muss dazu sagen, dass ich ziemlicher Anfänger bin und mir mittlerweile auch die Zeit davonläuft :cry: ..

Für jeden Tipp und Hinweis wäre ich sehr dankbar

Gruß
Chris
 
C

Chris_21

Gast
Ich danke euch für die Links,werde sie mir gleich mal anschauen.

Für meine momentanen Code hat niemand eine Idee oder einen Tipp wie ich es so lösen könnte?
 
C

Chris_21

Gast
So nach einigem probieren, habe ich es immerhin geschafft das die Grundrechenarten so halbwegs klappen, nur bei der zweiten zahl kann ich keine zweistellige eingeben und insgesamt kommt immer die Meldung java.lang.StackOverflowError habe schon nach gelesen was es mit der Meldung auf sich hat, aber den Fehler bei mir habe ich nicht gefunden. Hat jmd zu diesem Sachen einen Tipp für mich oder einen Vorschlag wie ich den Code noch umstrukturieren könnten?

Danke schonmal.
Chris


Code:
 public void actionPerformed(ActionEvent e) { 
       
   			char c = e.getActionCommand().charAt(0); 
   			Object obj = e.getSource(); 
  
   			if (Character.getType(c) == Character.DECIMAL_DIGIT_NUMBER)  
   				{ 
   					f.eingabefeld.setText(f.eingabefeld.getText() +c); 
   					zw= Double.parseDouble(f.eingabefeld.getText());
   				} 
   			
   			if (c=='+' || c=='-' || c=='*' || c=='/')
   				{
   					switch (c)
					{
						case '+': 	{
									op=c;
									z1=zw;
									f.eingabefeld.setText("");
									actionPerformed(e);
									break;
									}  
						case '-': 	{
									op=c;
									z1=zw;
									f.eingabefeld.setText(""); 
									actionPerformed(e);
									break; 
									}
						case '*': 	{
									op=c;
									z1=zw;		
									f.eingabefeld.setText("");
									actionPerformed(e);
									break; 
									}
						case '/': 	{
									op=c;
									z1=zw;
									f.eingabefeld.setText("");
									actionPerformed(e);
									break; 
									}
					}
   				}
      
   				if (op=='+')
   					{
   						op='x';
   						zw = z1 + zw;
   						zahl = "" + zw;
   						f.eingabefeld.setText(zahl);
   					}
      
   				if (op=='-')
   					{
   						op='x';
   						zw = z1 - zw;
   						zahl = "" + zw;
   						f.eingabefeld.setText(zahl);
   					}
   				
   				if (op=='*')
					{
						op='x';
						zw = z1 * zw;
						zahl = "" + zw;
						f.eingabefeld.setText(zahl);
					}
      
   							if (obj == f.btnOff) System.exit(0); 
    
     
   				if (c=='=') 
   					{ 
   					zahl = "" + zw;
   					f.eingabefeld.setText(zahl); 
   					}    
      
    }
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
sensus ActionEvent Java Basics - Anfänger-Themen 4
T Übernahme einer Variablen im ActionListener/ActionEvent Java Basics - Anfänger-Themen 2
P Probleme bei ActionEvent Java Basics - Anfänger-Themen 8
M Int wert in ActionEvent senden Java Basics - Anfänger-Themen 4
C ActionEvent mit CheckBox (true und false) Java Basics - Anfänger-Themen 6
L ActionEvent zur Steuerung von Text- und Bildauswahl Java Basics - Anfänger-Themen 8
Z Kann actionPerformed(ActionEvent) nicht überschreiben Java Basics - Anfänger-Themen 8
A Difference between MouseEvent and ActionEvent Java Basics - Anfänger-Themen 5
S actionPerformed(ActionEvent ev) Java Basics - Anfänger-Themen 4
W setModel feuert ActionEvent bei JComboBox Java Basics - Anfänger-Themen 2
G ActionEvent in der Klammer? Java Basics - Anfänger-Themen 6
S Andere Klasse mit ActionEvent aufrufen, aber wie? Java Basics - Anfänger-Themen 15
M Help! ActionEvent bei Button Klick Java Basics - Anfänger-Themen 9
D ActionEvent simulieren ? Java Basics - Anfänger-Themen 7
M Übergeben einer Variable an actionPerformed(ActionEvent e)? Java Basics - Anfänger-Themen 5
P ActionEvent von Klasse A nach Klasse B feuern Java Basics - Anfänger-Themen 2
N CheckboxMenuItem löst kein ActionEvent aus Java Basics - Anfänger-Themen 4
C ActionEvent bei JButtons Java Basics - Anfänger-Themen 2
H Konstruktur per ActionEvent an eine andere Methode übergeben Java Basics - Anfänger-Themen 8
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
L Taschenrechner Problem Java Basics - Anfänger-Themen 4
J Frage zu einem "Taschenrechner" code Java Basics - Anfänger-Themen 9
R Operatoren Rechenoperation verwenden für Taschenrechner. Java Basics - Anfänger-Themen 32
S while Schleife Taschenrechner Java Basics - Anfänger-Themen 1
J Taschenrechner mit mehr als 2 Zahlen. Java Basics - Anfänger-Themen 18
R Einfacher Taschenrechner mit Eclipse Java Basics - Anfänger-Themen 3
M Einfacher Taschenrechner Java Basics - Anfänger-Themen 2
Fiedelbambu Prüfen von Komma stelle beim Taschenrechner Java Basics - Anfänger-Themen 5
JordenJost Taschenrechner problem Java Basics - Anfänger-Themen 5
Y Taschenrechner programmieren Java Basics - Anfänger-Themen 3
G Taschenrechner ergibt Fehler in if-Abfrage Java Basics - Anfänger-Themen 6
K Erste Schritte "Taschenrechner" zeigt keine Komma Zahlen an. Java Basics - Anfänger-Themen 8
C Potenzberechnung über switch case. Taschenrechner mit Eingabe über einen grafischen Dialog Java Basics - Anfänger-Themen 22
E JavaFX Taschenrechner Eingabe im Textfield beschränken Java Basics - Anfänger-Themen 2
E Taschenrechner GUI Problem mit Fehlerhandling Java Basics - Anfänger-Themen 6
C Taschenrechner (switch) in Taschenrechner mit Methoden umwandeln Java Basics - Anfänger-Themen 115
W Taschenrechner mit Switch case Java Basics - Anfänger-Themen 4
W Taschenrechner Java Basics - Anfänger-Themen 11
A Taschenrechner mit Gui erstellen Java Basics - Anfänger-Themen 9
2 Taschenrechner mit GUI Problem bei der Berechnung Java Basics - Anfänger-Themen 8
P Taschenrechner mit unendlich vielen Eingabemöglichkeiten Java Basics - Anfänger-Themen 1
V Erste Schritte Taschenrechner mit beliebig vielen Zahlen Java Basics - Anfänger-Themen 5
S Taschenrechner Java Basics - Anfänger-Themen 13
P Taschenrechner Text übertragung Java Basics - Anfänger-Themen 3
S Compiler-Fehler Basic- Taschenrechner/ Fehler Java Basics - Anfänger-Themen 8
S Basic- Taschenrechner? Java Basics - Anfänger-Themen 7
P Hilfe bei Java Taschenrechner Java Basics - Anfänger-Themen 25
F Erste Schritte Frage zu simplem Taschenrechner(switch) Java Basics - Anfänger-Themen 16
L Mein Taschenrechner lässt sich plötzlich nicht mehr öffnen Java Basics - Anfänger-Themen 5
S Taschenrechner hilfe! Java Basics - Anfänger-Themen 17
H Java Taschenrechner Java Basics - Anfänger-Themen 4
R Variablen Taschenrechner mit Komfortfunktionen Java Basics - Anfänger-Themen 2
J RPN Taschenrechner - keine Lösung!! Java Basics - Anfänger-Themen 84
M Java Taschenrechner (if-else) Java Basics - Anfänger-Themen 11
L Taschenrechner mit switch und while funktioniert noch nicht richtig Java Basics - Anfänger-Themen 22
Q simpler Taschenrechner Java Basics - Anfänger-Themen 34
R Taschenrechner NullPointerException Java Basics - Anfänger-Themen 1
R Variablen Weitergehenderr Taschenrechner Java Basics - Anfänger-Themen 4
F Taschenrechner "Error loading class..." Java Basics - Anfänger-Themen 5
M Java Taschenrechner Programmieren Java Basics - Anfänger-Themen 12
P Erste Schritte Taschenrechner mit if-else Anweisung Java Basics - Anfänger-Themen 6
G Taschenrechner gibt nur 0.0 aus Java Basics - Anfänger-Themen 8
A Taschenrechner programmieren Java Basics - Anfänger-Themen 21
Z Java Taschenrechner Java Basics - Anfänger-Themen 6
J Kleiner Taschenrechner! Anfänger braucht Hilfe :( Java Basics - Anfänger-Themen 2
C Taschenrechner in Java Java Basics - Anfänger-Themen 6
J Erste Schritte Java CMD Taschenrechner mit Parametern! Java Basics - Anfänger-Themen 16
J Taschenrechner: Probleme Java Basics - Anfänger-Themen 5
E Taschenrechner problem! Ich komme nicht voran Java Basics - Anfänger-Themen 18
R Erste Schritte Taschenrechner mit Schleife Java Basics - Anfänger-Themen 24
Lord.Djerun (Taschenrechner Netbeans) Komma nur einmal schreiben & 0 ersetzen Java Basics - Anfänger-Themen 1
Z Taschenrechner - Additions/Substraktions/Multiplikations/Divionsketten! Java Basics - Anfänger-Themen 4
D Taschenrechner Frage Java Basics - Anfänger-Themen 12
Z Sehr simpler Taschenrechner - Hilfe! Java Basics - Anfänger-Themen 10
Z Taschenrechner - Wie addiere,multipliziere und subtrahiere ich? Java Basics - Anfänger-Themen 6
D kleiner Taschenrechner mit switch fehlerhaft Java Basics - Anfänger-Themen 1
K Taschenrechner im GUI Java Basics - Anfänger-Themen 2
P Taschenrechner, operatoren Java Basics - Anfänger-Themen 4
D Simpler Taschenrechner Java Basics - Anfänger-Themen 6
A Anfänger Taschenrechner Frage Java Basics - Anfänger-Themen 14
R Erste Schritte Taschenrechner - Punkt-vor-Strich Rechnung Java Basics - Anfänger-Themen 1
S Operatoren Taschenrechner Ergebnis ausgeben Java Basics - Anfänger-Themen 7
A Taschenrechner zeigt Error Java Basics - Anfänger-Themen 7
J Taschenrechner Funktion Java Basics - Anfänger-Themen 18
M Taschenrechner fertigstellung Java Basics - Anfänger-Themen 1
N Methoden Taschenrechner Java Basics - Anfänger-Themen 2
F z = input.nextChar(); PROBLEM Taschenrechner Java Basics - Anfänger-Themen 7
J Scanner Taschenrechner? Java Basics - Anfänger-Themen 7
J Variablen Rechenzeichen und Zahlen verknüpfen für einen Taschenrechner Java Basics - Anfänger-Themen 17
B Klassen Java Taschenrechner mit Klassen und Methoden Java Basics - Anfänger-Themen 12
B Erste Schritte Brauche Hilfe bei einem Java-Taschenrechner Java Basics - Anfänger-Themen 11
R Methoden Taschenrechner Java Basics - Anfänger-Themen 4
P Taschenrechner , IF-Abfrage Java Basics - Anfänger-Themen 12
I Taschenrechner - Methoden implementieren Java Basics - Anfänger-Themen 5
I Java Starthilfe (Taschenrechner) Java Basics - Anfänger-Themen 7
J Taschenrechner Problemchen Java Basics - Anfänger-Themen 3
D Erste Schritte Taschenrechner Java Basics - Anfänger-Themen 11
K taschenrechner - Fehler beim Kürzen eines Bruches finden Java Basics - Anfänger-Themen 20
J Taschenrechner Punkt vor Strich Java Basics - Anfänger-Themen 9
A Taschenrechner programmieren Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben