Wie addiere ich private int a mit b, in Java?

... komplette Frage anzeigen

5 Antworten

"type == 2" ist die Kontrolle ob type den Wert 2 hat.

Du hast ja in der calculate-Methode einen Integer als Datentyp für die Eingabe, also kann man da nicht "ADD" oder "SUB" (Strings) als Parameter übergeben, eine einfache Alternative ist es 2 verschiedene Zahlen dafür zu nehmen, z.B. 1 (für ADD wie Addition) und 2 (für SUB wie Subtraktion)

So wie ich die Aufgabe verstehe, erhälst du 3 Eingaben, 2 Zahlen und die Aktion dazu. Nun sollst du mit den 2 Zahlen ein Calculator Objekt erstellen welches im Konstruktor zwei Integer erwartet, diese werden via set-Methoden als a und b festgelegt.
Danach soll die Methode calculate aufgerufen werden mit einer Kennzeichnung welche Rechnung zutun ist.
Diese holt sich via get-Methoden die beiden Werte a und b und berechnet diese entsprechend des Parameters und gibt das Ergebnis zurück.

Das würde zumindest Sinn ergeben. Wie das meiste davon geht kannst du in der Antwort von MarcelDavis321 finden.

Antwort bewerten Vielen Dank für Deine Bewertung

Erstmal musst du ein Objekt der Klasse "Calculator" mit "new" erzeugen. Dort rufst du die Funktionen "setA" und "setB" entsprechend mit den Eingabewerten auf.

In "calculate" rufst du aus dem Objekt jeweils die "getA" und "getB" auf und führst die gewünschte Operation durch.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von AllwissendTino
21.09.2016, 15:16

Wo ist "dort" und wie greif ich auf Funktionen zu?

0

1. Die genaue Aufgabenstellung bitte.

2. Müssen die Zahlen wirklich von der Konsole einelesen werden?

3. Warum kein Scanner?

4. Was ist der Paramater ADD der Methode calculate()?

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von AllwissendTino
21.09.2016, 15:07

1. Erstelle die Klasse Calculator:

Attribute int a,b (mit getter und setter)
Methode calculate(int type)
für type gibt es den Wert ADD oder
SUB

2. Ja ich denke mit nem system.in.read evtl?
3.keiner nötig
4. addieren

0

in der main kannst du die Übergabeparameter aufrufen. Diese kommen jedoch als String also musst du sie noch casten.

int zahl1 = Integer.valueOf(args[0])

Als nächstes erstellst du eine neue Instanz der Klasse Calculator. 

Calculator meinCalc = new Calculator();

Dieser wird anschließend mit den Attributen verknüpft

meinCalc.setA(zahl1);
meinCalc.setB(zahl2);



Jetzt muss die calculate Methode noch fertig programmiert werden. Diese soll wahrscheinlich je nach dem ob ADD die Nummer von 1 bis 4 hat plus minus mal oder geteilt rechnen. Also musst du dort eine Abfrage rein bauen. Das geht mit switch/case oder If abfragen

public void calculate(int ADD) {     


switch(ADD){
case 1: meinCalc.getA() + meinCalc.getB();
case 2: meinCalc.getA() - meinCalc.getB();
case 3: meinCalc.getA() * meinCalc.getB();
case 4: meinCalc.getA() / meinCalc.getB();
}
}
Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von AllwissendTino
21.09.2016, 15:27

wie würd das mit if aussehen statt switch case?

0
Kommentar von densch92
16.01.2017, 05:29

Eine Ergänzung:
Für die Praxis macht es wenig sein dass der Rückgabetyp void ist!

Wenn man  hier was berechnet, soll es ja wenigstens auch zurükgegeben oder auf der Konsole gedruckt werden.
Darum ersetzen wir das void mal brav ddurch int .
Und fügen in jedem Case noch ein Return hinzu.

Dann kann man den Wert auch ner Variablen zuweisen und damit weiter arbeiten.

0

Was möchtest Du wissen?