expression tree

port45

Mitglied
Hallo zusammen,

bräuchte nochmal hilfe bei etwas.

Habe folgende Klasse:

Java:
package tree;

public class NegateNode implements Node {
    private Node expression;
    
    public NegateNode(Node expression) {
        this.expression = expression;
    }
    
    public double value() {
        // TODO korrigieren
        return 0.0;
    }
    
    @Override
    public String toString() {
        return "";
    }
}

ich weiß nicht so recht was expression sein soll.
und was die Klasse machen soll bzw. was bei value() genau zurück gegeben werden soll...


Also ich glaube die Klasse soll Klammern setzen bzw. öffnen oder schließen oder ?
nur wie gehe ich damit um?
 
Zuletzt bearbeitet:
Moin,

Habe folgende Klasse:
Java:
package tree;

public class NegateNode implements Node {
    private Node expression;
    
    public NegateNode(Node expression) {
        this.expression = expression;
    }
    
    public double value() {
        // TODO korrigieren
        return 0.0;
    }
    
    @Override
    public String toString() {
        return "";
    }
}
na prima 😛ueh:
Wo kommt sie denn her ???:L

ich weiß nicht so recht was expression sein soll.
Eine Variable von Datentyp "Node" ....

und was die Klasse machen soll
Sie soll wohl (aufgrund ihres namens) einen Knoten "negieren" ...
Englisch - Deutsch Wörterbuch - leo.org: Startseite

bzw. was bei value() genau zurück gegeben werden soll...
tja, derzeit gibt sie ja den Wert 0.0 zurück ....
Aufgrund des Klassennamens "negate" und der überschriebenen "toString"-Methode klingt das erstmal nicht soooo schlecht :autsch:

Gruß
Klaus


[EDIT]
Also ich glaube die Klasse soll Klammern setzen bzw. öffnen oder schließen oder ?

Hä?? Wie kommst Du bloß denn darauf ???:L
[/EDIT]
 
Zuletzt bearbeitet:
ja Danke ^^

also denke mal hast recht ^^ der ausdruck muss negiert werden.
Aber ist es dann wirklich so leicht?

Java:
double wert = expression.value();
wert = wert * (-1);
return wert;

ist das denn wirklich so einfach dann??
 
Moin,

keine Ahnung ... ICH weiß nicht, was das Ganze soll 🙁
"Negieren" kann aber auch sowas wie "zunichte machen" bedeuten ... ergo: auf 0 setzen!

Wo kommt der Schnipsel denn nun her?
Wer hat das "TODO korrigieren" geschrieben?

Gruß
Klaus
 
ist eine schulaufgabe und ich muss die Klassen berichtigen bzw. ergänzen.

Also das ganze soll ein Taschenrechner sein.

ich habe alle Klassen fertig bis auf zwei darunter diese Klasse.

Das Programm gibt schon mal alles richtig aus bis auf die Klammern deshalb dachte ich am anfang an klammern.

Aber irgendwie ist das nicht richtig alles...

Java:
package tree;

public class NegateNode implements Node {
    private Node expression;
    
    public NegateNode(Node expression) {
        this.expression = expression;
    }
    
    public double value() {
        // TODO korrigieren
    	double wert;
    	wert = expression.value();
    	
        return wert;
    }
    
    @Override
    public String toString() {
        //return ")";
    	return String.format("(!%s)", value());
    }
}

habe das jetzt soweit ergänzt aber irgendwie ist es immer noch nicht richtig...
 

Zurück
Oben