int Vorzeichen umkehren Negation( ) java
Anforderungen
Davon ausgehen, das die Verfügbarkeit von einer bestehenden Klasse ICalculator, dass Modelle ein integer-Arithmetik Rechner-und enthält:
- einer Instanz-variable currentValue, speichert die aktuellen int-Wert
der Rechner und können angesehen und geändert werden, indem eine Unterklasse. - Methoden add, sub, mul und div
Jede Methode ICalculator erhält ein int-argument und wendet seinen Betrieb zu currentValue und gibt den neuen Wert von currentValue. Also, wenn currentValue " den Wert 8 und sub(6) aufgerufen wird, dann currentValue endet mit dem Wert 2, und 2 ist zurück.
So, Sie schreiben, die definition einer Unterklasse, ICalculator2, basierend auf ICalculator. Die Klasse ICalculator2 hat eine zusätzliche Methode, negieren, erhält keine Argumente. Die Wirkung negieren, ist eine Umkehrung der Zeichen von currentValue. Zum Beispiel, wenn currentValue null ist, gibt es keine Veränderung, wenn es -22 dann wird es 22, wenn es 100 es wird auf -100. Außerdem Annulliere gibt den neuen Wert von currentValue.
Quellcode
public class ICalculator2 extends ICalculator {
public int negate() {
int val = add(0);
if (val == -22) return val * -1;
else if (val == 100) return val * -1;
else return 0;}}
Bemerkungen:
- Dein code hatte einen Fehler während der Ausführung
Weitere Hinweise:
- Möchten Sie vielleicht verwenden Sie eine andere Zahl als 100
- Möchten Sie vielleicht verwenden Sie eine andere Zahl als 22
- Sind Sie sicher, dass Sie verwenden möchten: val
Hinweise:
- Möchten Sie vielleicht zu verwenden: <
- Sind Sie sicher, dass Sie verwenden möchten: =
Sie erwähnt -22 umgewandelt werden, wie 22, aber dein code sagt 22 bis -22 bitte stellen Sie sicher, dass Ihr code und Anweisungen korrekt sind.
warum gehst du nicht einfach multiplizieren Sie den Wert mit
-1
ja..Sie sollte einfach multiplizieren Sie den Wert mit -1
Ich glaube nicht, dass Sie angeblich zu fest die Werte
22
und 100
im code. Das waren lediglich Beispiele. Sie sollen schreiben, eine Allgemeine negate()
Methode, die funktioniert auf jede Zahl nicht gerade null, 22 und 100.InformationsquelleAutor edmejia | 2012-10-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie nicht brauchen, um jedes von diesen komischen Berechnungen. Versuchen Sie dies:
InformationsquelleAutor RGO
Dies tun Sie durch die Manipulation die Methoden für Sie in der ICalculate Klasse. Denken Sie daran, dass Sie können nicht verwenden Sie die Instanz-variable currentValue direkt, da es privat ist variabel, und die Unterklasse nur Zugriff auf die privaten Variablen durch die Methoden. In diesem Fall wird die beste Methode, das zu manipulieren ist, mul(), mit dem argument -1.
public int Negation(){
return mul(-1);
}
InformationsquelleAutor Abdulfatah Ahmad Irro Jr.
Bitte versuchen Sie, dies wird Ihnen helfen, dieses problem zu lösen
i
positiv ist, muss negiert werden, und Sie brauchen nicht entweder eineif
oder Multiplikation zu tun. Falsche Antwort.Ich bearbeitet habe, zu löschen, wenn Bedingung.danke.
So haben Sie angesprochen 50% der Probleme, die ich erwähnt. Haben Sie Lesen der anderen Antworten?
InformationsquelleAutor sunleo
Zahlen, die Sie gegeben wurden, waren ein Beispiel. Wenn es eine Wahrheit Tabelle, die über alle anderen Nummern, dein Beispiel würde scheitern. Das ist, warum es wurde ein Problem mit dem code.
Sie müssen, verwenden Sie code, der zeigt, was passiert, wenn currentValue 0 NICHT.
Schauen Sie sich die folgenden:
InformationsquelleAutor user2113586
Ich habe gerade bemerkt, dass du versuchst zu verlängern, was sollte konventionell eine Schnittstelle. Das wird nicht funktionieren. Sie implementieren eine Schnittstelle.
InformationsquelleAutor Mark
Dude, du hast das alles falsch.
public class ICalculator2 erstreckt ICalculator{
sehen Sie? -22 und 100 sind Beispiele, Sie sind nicht wichtig. Der Punkt ist nur, dass Sie brauchen, um zu annullieren, was auch immer es ist.
InformationsquelleAutor user2135070