Methode einer Klasse in eine andere Übergeben

Status
Nicht offen für weitere Antworten.
M

milo24

Gast
Hallo.

Ich habe 2 Klassen programmiert, erstens die Klasse Komplex die zuerst mit fixen Werten gerechnet hat.(addiert,subtrahiert, multipliziert, dividiert, potenziert, wurzel)

Später hab ich dann einen Taschenrechner gemacht der aber nur Arithmetische Werte berechnet.Dieser Taschenrechner hat eine graphische Oberfläche in denen ich Werte eingeben kann.
Jetzt würde ich gerne die Eingabezellen von der Klasse TaRe(=Taschenrechner) verwenden um die Werte in der Klasse Komplex weiter zu rechnen.

Wie übergebe ich die Werte der Eingabefelder von der Klasse TaRe in die Klasse Komplex?
Und wie liefert die Klasse Komplex die Ergebnisse wieder zurück an die Klasse TaRe zur ausgabe?

Code:
import java.awt.*;
import java.awt.event.*;
import java.lang.Math;
/**
 * Write a description of class TaRe here.
 * 
 * @Milosavljevic Danijel 
 * @12.April.2007
 */

public class TaRe extends Frame implements WindowListener, ActionListener
{
    Button add, sub, mul, div, sqrt, hoch;
    Label re1, im1, op, re2, im2, gleich, ergebnis;
    TextField eingabe1, eingabe2, eingabe3, eingabe4;
    
    public TaRe()
    {
         add = new Button("+");
         sub = new Button("-");
         mul = new Button("*");
         div = new Button("/");
         hoch= new Button("x²");
         sqrt = new Button("sqrt");
         re1 = new Label("Realteil 1");
         im1 = new Label("Imaginärteil 1");
         op = new Label("Operator");
         re2 = new Label("Realteil 2");
         im2 = new Label("Imaginärteil 2");
         gleich = new Label("=");
         ergebnis = new Label("Ergebnis");
         eingabe1 = new TextField("Eingabe-Realteil 1");
         eingabe2 = new TextField("Eingabe-Imaginärteil 1");
         eingabe3 = new TextField("Eingabe-Realteil 2");
         eingabe4 = new TextField("Eingabe-Imaginärteil 2");
         GridLayout grid = new GridLayout();
         add(add); add(sub); add(mul); add(div); add(hoch); add(sqrt); add(eingabe1); add(eingabe2); add(eingabe3); add(eingabe4); add(re1); add(im1); add(op); add(re2); add(im2); add(gleich); add(ergebnis); 
         setBackground(Color.white);
         addWindowListener(this);
         setLayout(new GridLayout(3,9)); //Tare ein Layout zuweisen
         add.addActionListener(this);
         sub.addActionListener(this);
         mul.addActionListener(this);
         div.addActionListener(this);
         sqrt.addActionListener(this);
         hoch.addActionListener(this);
        
    }
    
    public void actionPerformed(ActionEvent ae)
    {
        int v, w, x, y, z;
        
        String help1 = eingabe1.getText();
        v = Integer.parseInt(help1); //String in Zahl umwandeln
        String help2 = eingabe2.getText();
        w = Integer.parseInt(help2); //String in Zahl umwandeln
        String help3 = eingabe3.getText();
        x = Integer.parseInt(help3); //String in Zahl umwandeln
        re1.setText(Integer.toString(x));
        String help4 = eingabe4.getText();
        y = Integer.parseInt(help4);
        re2.setText(Integer.toString(y));
        
        if(ae.getSource()==add)
        {
            op.setText("+");
            z=x+y;
            ergebnis.setText(Integer.toString(z));
        }
        
        if(ae.getSource()==sub)
        {
            op.setText("-");
            z=x-y;
            ergebnis.setText(Integer.toString(z));
        }
        
        if(ae.getSource()==mul)
        {
            op.setText("*");
            z=x*y;
            ergebnis.setText(Integer.toString(z));
        }
        
        if(ae.getSource()==div)
        {
            op.setText("/");
            z=x/y;
            ergebnis.setText(Integer.toString(z));
        }
        
        if(ae.getSource()==hoch)
        {
            op.setText("x²");
            z=x*x;
            ergebnis.setText(Integer.toString(z));
        }
        
        if(ae.getSource()==sqrt)
        {
            op.setText("Wurzel");
            double sqrt= Math.sqrt(x);
            ergebnis.setText(Double.toString(sqrt));
        }
        
        
    }
    
    public void windowOpened(WindowEvent we){}
    public void windowClosing(WindowEvent we)
    {
        System.exit(0);
    }
    public void windowClosed(WindowEvent we){}
    public void windowIconified(WindowEvent we){}
    public void windowDeiconified(WindowEvent we){}
    public void windowActivated(WindowEvent we){}
    public void windowDeactivated(WindowEvent we){}
    
    public static void main()
    {
        TaRe f1 = new TaRe();
        f1.setSize(1024,768);
        f1.setLocation(250,100);
        f1.setVisible(true);
        f1.setTitle("Taschenrechner");
    }
        
//    public void setreal(double real)
//    {
//        eingabe1=real;
//    }
}

Code:
public class Komplex 
{
    // instance variables
    private double r;      // erzeugen des Realteils
    private double i;      // erzeugen des Imaginärteils
    
     /**
     * Standardkonstruktor
     */
    public Komplex()
    {
        r=1;		// Als Standartwert kriegt die Variable r den Wert 1
        i=1;		// Als Standartwert kriegt die Varibale i den Wert 1
    }

     /**
     * Konstruktor für die komplexen kartesischen Zahlen
     * mit dieser Funktion kann man selber aussuchen was für ein Wert die beiden
     * Variablen (Realteil und Imaginärteil) haben sollen
     */
    public Komplex(double real, double imag)
    {
        r=real;
        i=imag;
    }

     /**
     * Konstruktor für Zahlen ohne Imaginärteil (Imaginaerteil = 0)
     * mit dieser Funktion kann man selber aussuchen was für ein Wert der
     * Realteil haben sollen
     * Der Imaginärteil ist fix 0
     */
    public Komplex(double real)
    {
        r=real;
        i=0;
    }

    /**
     * Diese Methode kann addieren
     * 
     * @param  b 	besitzt Realteil und Imaginaerteil
     * @return    new Komplex(real, imag)	Liefert das Ergebnis einer Addition von 2 komplexen Zahlen
     */
   public Komplex addition (Komplex b)
    {   
        Komplex a = this;
        double real = a.r + b.r;
        double imag = a.i + b.i;
        return new Komplex(real, imag);
    }

    /**
     * Diese Methode kann subtrahieren
     * 
     * @param  b 	besitzt Realteil und Imaginaerteil
     * @return    new Komplex(real, imag)	Liefert das Ergebnis einer Subtrakion von 2 komplexen Zahlen
     */
   public Komplex subtraktion (Komplex b)
    {   
        Komplex a = this;
        double real = a.r - b.r;
        double imag = a.i - b.i;
        return new Komplex(real, imag);
    }

    /**
     * Diese Methode kann multiplizieren
     * 
     * @param  b	besitzt Realteil und Imaginaerteil
     * @return   new Komplex(real, imag)	Liefert das Ergebnis einer Multiplikation von 2 komplexen Zahlen
     */
   public Komplex multiplikation (Komplex b)
    {   
        Komplex a = this;
        double real = a.r * b.r - a.i * b.i;
        double imag = a.r * b.i + a.i * b.r;
        return new Komplex(real, imag);
    }

    public Komplex multiplikation (double b)
    {
        return new Komplex(b * r, b * i);
    }

    /**
     * Diese Methode kann Wurzeln ziehen
     * 
     * @param    b	besitzt Realteil und Imaginaerteil
     * @return     wurz	Liefert die Wurzel aus einer komplexen Zahl
     */
   public Komplex wurzel (Komplex b)
    {   
        Komplex a = this;
        Komplex wurz = a;
        wurz = a.multiplikation(a);
        return wurz;
    }

    /**
     * Diese Methode kann potenzieren
     * 
     * @param    b	besitzt Realteil und Imaginaerteil
     * @return     potz	Potenzieren einer komplexen Zahl
     */
       public Komplex potenz(double b)
    {
        Komplex a = this;
        Komplex potz = a;
        potz.r=Math.pow(a.r, b);
        potz.i=a.i/b;
        return potz;
    }

    /**
     * Mit dieser Methode kann man der Variable einen Wert zuweisen
     * 
     * @param  real	Realteil
     * @return    -
     */
       public void setreal(double real)
       {
        r=real;
        }

    /**
     * Mit dieser Methode kann man der Variable einen Wert zuweisen
     * 
     * @param  imag	Imaginärteil
     * @return    -
     */
    public void setimag(double imag)
    {
        i=imag;
    }

    /**
     * Liefert den Wert der Variable
     * 
     * @param  -
     * @return    r	Realteil
     */
    public String getreal()
    {
        return ""+r;
    }

    /**
     * Liefert den Wert der Variable
     * 
     * @param  -
     * @return    i	Imaginaerteil
     */
    public String getimag()
    {
        return ""+r+"j";
    }

}
 

function

Bekanntes Mitglied
also grundsätzlich wäre ja eine lösung das du in TaRe den Konstruktor von Komplex aufrufst.
wenn du das gemacht hast kannst du auf alle methoden von Komplex in TaRe zugreifen.
Code:
Komplex komRechner = new Komplex();
komRechner.setReal(wert);
komRechner.setImg(wert);
// ...

Das setzen der variablen r und i in Komplex würde ich aus dem konstruktor nehmen und direkt beim initialisieren machen.
 

Leroy42

Top Contributor
Beispiel:

Ersetze
Code:
z=x+y;
durch
Code:
Komplex z = new Komplex(x,y).addition(new Komplex(v,w));

Du brauchst dann natürlich auch 2 Ausgabefelder; eimal für
den Realteil und einmal für den Imaginärteil
 

function

Bekanntes Mitglied
wobei es doch äußerst unschick ist mehrere Konstruktoren zu haben die das gleiche machen wie die "extra" dafür erstellten setMethoden
 

Leroy42

Top Contributor
Zumindest würde ich es statt
Code:
    public Komplex() 
    { 
        r=1;      // Als Standartwert kriegt die Variable r den Wert 1 
        i=1;      // Als Standartwert kriegt die Varibale i den Wert 1 
    } 

     /** 
     * Konstruktor für die komplexen kartesischen Zahlen 
     * mit dieser Funktion kann man selber aussuchen was für ein Wert die beiden 
     * Variablen (Realteil und Imaginärteil) haben sollen 
     */ 
    public Komplex(double real, double imag) 
    { 
        r=real; 
        i=imag; 
    } 

     /** 
     * Konstruktor für Zahlen ohne Imaginärteil (Imaginaerteil = 0) 
     * mit dieser Funktion kann man selber aussuchen was für ein Wert der 
     * Realteil haben sollen 
     * Der Imaginärteil ist fix 0 
     */ 
    public Komplex(double real) 
    { 
        r=real; 
        i=0; 
    }

so machen

Code:
public Komplex() {this(0);}
public Komplex(double real) {this(real, 0);}
public Komplex(double real, double imag) {
  r = real;
  i = imag;
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
_user_q Wie eine Methode/Funktion aus einer Klasse mit Constructor aufrufen? Java Basics - Anfänger-Themen 20
B Attribute eines Objekts einer Klasse durch statische Methode einer 2. Klasse ändern? Java Basics - Anfänger-Themen 32
H Mit setter-Methode JLabel in einer andern Klasse ändern. Java Basics - Anfänger-Themen 40
D Einen boolischen Wert aus einer Methode in einer anderen Klasse aufrufen? Java Basics - Anfänger-Themen 11
C Auf die Methode einer anderen Klasse zugreifen Java Basics - Anfänger-Themen 1
A Methode in einer anderen Klasse verwenden Java Basics - Anfänger-Themen 1
S Auf Methode einer anderen Klasse zugreifen Java Basics - Anfänger-Themen 3
B Klassen Zugriff auf ein Objekt einer Klasse aus einer Methode heraus Java Basics - Anfänger-Themen 4
D Zugriff auf Methode einer anderen Klasse Java Basics - Anfänger-Themen 5
A OOP Variable in anderer Klasse durch Methode aufrufen und einer anderen Variable gleichsetzen Java Basics - Anfänger-Themen 2
R Methoden NPE beim Aufruf einer Methode einer anderen Klasse Java Basics - Anfänger-Themen 4
E Threads Methode einer Wartenden Klasse aufrufen Java Basics - Anfänger-Themen 3
P Methode soll Variable einer anderen Klasse ändern. Wie? Java Basics - Anfänger-Themen 1
D Aufruf einer Methode einer anderen Klasse Java Basics - Anfänger-Themen 39
B Wie kann ich eine Methode einer selbst erstellten Klasse statisch importieren? Java Basics - Anfänger-Themen 5
P Instanz mit .add Methode von einer Klasse zur anderen? Java Basics - Anfänger-Themen 6
N Objekt in Methode einer anderen Klasse erzeugen Java Basics - Anfänger-Themen 9
S Methoden Methode einer anderen Klasse aufrufen? Java Basics - Anfänger-Themen 5
M Klassen Main Methode in einer anderen Klasse aufrufen Java Basics - Anfänger-Themen 13
G Methoden Zugriff auf Methode.. aus einer anderen Klasse Java Basics - Anfänger-Themen 6
G Methode einer Abstrakten Klasse aufrufen Java Basics - Anfänger-Themen 1
A Methode aus einer anderen Klasse ausführen Java Basics - Anfänger-Themen 7
H Klasse bzw methode der Klasse in einer anderen Klasse benutzen Java Basics - Anfänger-Themen 4
P OOP Eingabevariablen der Klasse Raum in der Methode addEvent ans Ende einer ArrayList einfügen Java Basics - Anfänger-Themen 3
I Rückgabewert einer Methode in anderer Klasse verwenden Java Basics - Anfänger-Themen 2
U Methoden Zugriff auf Array von weiterer Methode einer Klasse, Rückgabewert Problem Java Basics - Anfänger-Themen 5
S Methoden Methode einer anderen Klasse ausführen? Java Basics - Anfänger-Themen 6
M Methode aus einer Klasse aufrufen Java Basics - Anfänger-Themen 6
H Programmiertechnik: Methode einer Klasse beim Anlegen überschreibt Java Basics - Anfänger-Themen 3
O Methode in andere Klasse verlegt, "auslesen" einer HTML Seite verschnellert - Problem. Java Basics - Anfänger-Themen 4
A Arraylist einer Methode, gefüllt einer anderen Klasse übergeben Java Basics - Anfänger-Themen 17
S Aufruf Einer Methode aus einer anderen Klasse - Static Fehler Java Basics - Anfänger-Themen 4
L Methoden Eine Methode aus einer anderen Klasse aufrufen Java Basics - Anfänger-Themen 4
M Methode einer anderen Klasse aufrufen Java Basics - Anfänger-Themen 7
J Methode vom Typ einer Klasse!? Java Basics - Anfänger-Themen 8
R Auf get-Methode von ArrayList zugreifen von Methode einer Klasse Java Basics - Anfänger-Themen 2
Corben Methoden Methode einer Abstrakten Klasse Java Basics - Anfänger-Themen 7
L Methoden Auf statische Methode einer anderen Klasse zugreifen, die Array zurückgibt Java Basics - Anfänger-Themen 3
I Von einer Methode eines Objektes auf Attribut eines Objektes anderer Klasse zugreifen Java Basics - Anfänger-Themen 4
E Variable aus einer Methode heraus in eine andere Klasse übergeben Java Basics - Anfänger-Themen 13
H String in Methode einer anderen Klasse übergeben Java Basics - Anfänger-Themen 5
M Zwei Threads greifen auf eine Methode einer Klasse zu. Komplikationen? Java Basics - Anfänger-Themen 18
C Von einer Klasse auf die nächste Zugreifen und die Methode nutzen? Java Basics - Anfänger-Themen 5
M Methode einer anderen Klasse verwenden Java Basics - Anfänger-Themen 2
T Methode einer fremden Klasse aufrufen - wie? Java Basics - Anfänger-Themen 2
L Aus einer Methode eine eigene Klasse machen - modular coden Java Basics - Anfänger-Themen 14
G Methode einer übergeordneten Klasse einer übergeordneten Kla Java Basics - Anfänger-Themen 3
G Methode einer fremden Klasse Java Basics - Anfänger-Themen 5
M Methode innerhalb einer klasse aufrufen Java Basics - Anfänger-Themen 26
A Nur einzelne Methode einer anderen Klasse starten Java Basics - Anfänger-Themen 2
E Gleiche Methode einer (Kinds?)Klasse erneut aufrufen Java Basics - Anfänger-Themen 2
D Objekt der Methode einer anderen Klasse zuordnen Java Basics - Anfänger-Themen 6
A Wert einer Variable an eine Methode in einer anderen Klasse. Java Basics - Anfänger-Themen 4
L Zugriff auf Methode einer anderen Klasse -> ')' fehlt ? Java Basics - Anfänger-Themen 2
B Finde Methode einer Klasse nicht Java Basics - Anfänger-Themen 4
J Von einer Klasse auf eine Methode einer anderen Klasse zugre Java Basics - Anfänger-Themen 6
P Objekt einer Methode eines anderen Objektes übergeben Java Basics - Anfänger-Themen 5
L Variablenwerte aus einer Methode übergeben Java Basics - Anfänger-Themen 2
T Aufruf der Methode einer Oberklasse, wenn sie in der Unterklasse überschrieben ist. Polymorphie. Java Basics - Anfänger-Themen 2
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
MoxMorris Wie macht man String[] = String[] aus einer anderer Methode? Java Basics - Anfänger-Themen 18
T Variable von Objekten in einer Methode überprüfen Java Basics - Anfänger-Themen 26
V Hilfe bei Implementierung einer boolean Methode Java Basics - Anfänger-Themen 6
berserkerdq2 Wann soll ich den Stream schließen, wenn ich das in einer Methode habe? Java Basics - Anfänger-Themen 8
A Ein Array bearbeiten und in einer anderen Methode nutzen Java Basics - Anfänger-Themen 6
A Ergebnis einer Methode bei einer anderen verwenden Java Basics - Anfänger-Themen 13
M Wie kann die Implementation einer Methode den Wert eines Attributs vermindern? Java Basics - Anfänger-Themen 3
M Wie verknüpfe ich eine Bedingung mit einer Methode ohne if-Verzweigung & Bedingungsoperator? Java Basics - Anfänger-Themen 2
D mehrere Berechnungen in einer Methode Java Basics - Anfänger-Themen 9
I Array einer Methode wiedergeben Java Basics - Anfänger-Themen 2
I Argumente einer Java Methode Java Basics - Anfänger-Themen 14
D Methoden Plathhalter für Integer in einer Methode Java Basics - Anfänger-Themen 19
A 2 Strings vergleichen in einer methode wenn man mit Globalen variablen arbeitet Java Basics - Anfänger-Themen 12
T getAttribut in einer Methode aufrufen Java Basics - Anfänger-Themen 8
BorussiaMG1900 Implementation einer Methode Java Basics - Anfänger-Themen 1
J Problem mit einer Methode die gewissen Inhalt einer Array löschen soll Java Basics - Anfänger-Themen 9
J Problem mit einer Methode, die beliebig viele Objekte in Array speichern soll Java Basics - Anfänger-Themen 6
LetsSebi Methode, die einen arry von objekten speichert in einer datei Java Basics - Anfänger-Themen 6
JD_1998 Array-Position aus einer Methode in einer anderen ausgeben (Kurze Frage) Java Basics - Anfänger-Themen 2
JD_1998 Random Array sortieren mit Hilfe einer Methode Java Basics - Anfänger-Themen 4
K Übergabe von Werten (zweidimensionales Array) aus einer Methode an zweidimensionales Array in main() Java Basics - Anfänger-Themen 3
M this.object in einer parameterlosen Methode verwenden Java Basics - Anfänger-Themen 3
P Problem beim Überschreiben einer vererbten Methode Java Basics - Anfänger-Themen 4
O BiPredicate in einer forEach Methode Java Basics - Anfänger-Themen 10
L Wie greife ich in der Subklasse auf die Parameter einer Methode der Superklasse zu ? Java Basics - Anfänger-Themen 15
N Methode um Objekte einer Liste hinzuzufügen Java Basics - Anfänger-Themen 1
L Variable von einer Methode zu einer anderen Methode inkl. einer "Zwischenmethode" Java Basics - Anfänger-Themen 1
B Hilfe bei einer rekursiven Methode Java Basics - Anfänger-Themen 3
M Implementierung einer getNextId Methode Java Basics - Anfänger-Themen 5
R Signatur einer Methode in JAVA Java Basics - Anfänger-Themen 4
N Methode mit einer Arraylist Java Basics - Anfänger-Themen 106
I ArrayList - Methode zum Speichern eines Eintrags in einer Datei Java Basics - Anfänger-Themen 17
H Arraydaten aus einer anderen Methode ausgeben Java Basics - Anfänger-Themen 4
H Auf Objekte bzw Variabeln aus einer anderen Methode zugreifen Java Basics - Anfänger-Themen 7
T Return einer anderen Methode herausfinden Java Basics - Anfänger-Themen 9
J Fragen zu einer Methode Java Basics - Anfänger-Themen 3
W OOP Vererbung und Problem bei Zählschleife in einer Methode Java Basics - Anfänger-Themen 10
A Mit einer Methode den Konstruktor aufrufen? Java Basics - Anfänger-Themen 2
K Boolean in einer Methode um 2 Objekte zu vergleichen Java Basics - Anfänger-Themen 12
M kann man return in nur einer Methode einsetzen? Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben