Klasse erstellen mit vorgebenen Attributen udn methoden

DefconDev

Bekanntes Mitglied
Hallo, ich bin gerade an einer übungsaufhgaabe fürs studium, und weiß echt nicht wie ich anfangen soll.


Ich soll eine klasse erstellen, die zwei dateneingänge hat d1 und d2, und drei datenausgänge, q, z und n.

Operationscode:

"0" dessen ausgang(q)= d1+d2 ist, ausgang(z)=true, wenn d1+d2=0, ausgang(n)=true, wenn d1+d2<0

"1" dessen ausgang(q)= d1-d2 ist, ausgang(z)=true, wenn d1-d2=0, ausgang(n)=trie wenn d1-d2<0

"sonst" dessen ausgang (q)=0, ausgang(z)=true, ausgang(n)=false.





jetzt kommen die attribute und methoden

short q (a*) //wert des ausgangs
boolean z // Z(ero)-Flag z=true<=>q=0 was heißt zero flag?
boolean n // N(egative)-Flag: n=true<=>q<0 was heißt negaitv flag?


Alu() Konstruktor: int. q=0; z=true; n= false

void exec(short d1, short d2, short op) Ausführen der Alu-Funktion mit den übergebenen Werten, dabei neubestimmung von q, z, und n. ( z=true wenn q == 0, n true wenn q< 0)

short getQ() Lesen des ausgangs (ein getter)
boolean getZ() Lesen des Zero-Flags
boolean getN() Lesen des N-Flag


(a*) das Zeichen-,+ und # werden gemäß der UML verwendet für die zugriffsbeschränkung privat, public und protected. Kann mir das einer mal erklären, wie ich das verstehen darf.


Irgendwie fehlt mir die übersicht, die informationen zu filtern um den anfang zu machen, ich weiß gar net wo ich anfangen soll. Ich hoffe einer kann mir helfen.
 
Hi,

kannst ja mal mit den einfachsten Fakten anfangen:

- Erstelle eine Klasse "Alu"
- Lege die genannten Attribute an
- Lege den Konstruktor an
- Lege die Methoden an
- in der Methode "exec" gehört dann wohl die Logik die in deinem Post unter "Operationscode" steht.
 
Ok, wenn man deine aufzählung so sieht, merkt man dass ich echt auf dem schlauch stand, nur womit ich mich immer noch schwer tue ist die methoden programmierung. Habe mir jetzt etliche defintionen durchgelesen, sehe aber in meinen augen keinen verwendungszweck.
 
Java:
public class Alu {

    private short q;
    private boolean z,n;

    public short getQ() {
        return q;
    }

    public boolean getZ() {
        return z;
    }

    public boolean getN() {
        return n;
    }

    public void exec(short d1, short d2, short op) {
        switch (op) {
            case 0:
                q = (short) (d1 + d2);
                z = q == 0;
                n = q < 0;
                break;
            case 1:
                q = (short) (d1 -d2);
                z = q == 0;
                n = q < 0;
                break;
            default:
                q = 0;
                z = true;
                n = false;
        }
    }
}
 

Zurück
Oben