int reverse sign negate( ) java

33,154

Solution 1

You didn't need to do any of those strange calculations. Try this instead:

public class ICalculator2 extends ICalculator {
    public int negate() { 
        return (currentValue = -currentValue);
    }
}

Solution 2

You do this by manipulating one the methods provided for you in the ICalculate class. Remember that you cannot use the instance variable currentValue directly because it is private variable, and the subclass will only have access to private variables through methods. In this case the best method to manipulate is mul(), with the argument of -1.

public int negate(){

return mul(-1); }

Share:
33,154
edmejia
Author by

edmejia

DataBase / SQL Programmer with a well-rounded background in cross-functional areas of Managerial Accounting, Global Sourcing, Procurement, Inventory Planning, Retention, Sales, Semiconductor Manufacturing, Electronics Engineering, Telecommunications, and IT SysAdmin. Pursuing Associate DataBase / SQL Programming Roles.

Updated on July 09, 2020

Comments

  • edmejia
    edmejia almost 4 years

    Requirements

    Assume the availability of an existing class, ICalculator, that models an integer arithmetic calculator and contains:

    • an instance variable currentValue that stores the current int value of the calculator and can be accessed and modified by any subclass.

    • methods add, sub, mul, and div

      Each method in ICalculator receives an int argument and applies its operation to currentValue and returns the new value of currentValue. So, if currentValue has the value 8 and sub(6) is invoked then currentValue ends up with the value 2, and 2 is returned.

    So, you are to write the definition of a subclass, ICalculator2, based on ICalculator. The class ICalculator2 has one additional method, negate, that receives no arguments. The effect of negate is to reverse the sign of currentValue. For example, if currentValue is zero, there is no change, if it is -22 then it becomes 22, if it is 100 it becomes -100. Furthermore negate returns the new value of currentValue.

    Source Code

    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;}}
    

    Remarks:

    • Your code had an error during execution

    More Hints:

    • You might want to use a number other than 100

    • You might want to use a number other than 22

    • Are you sure you want to use: val

    Hints:

    • You might want to use: <
    • Are you sure you want to use: =