In: Computer Science
In Java
We define BigNumber a number consisting of 0<N<21 elements.It can be negative in which case it will have a minus sign in front. Without modifying main method complete the methods add, subtract and reverse. Hints: class java.math.BigInteger would be very useful. For reverse method number== new StringBuffer(number).reverse().toString(); can be used however when you reverse a negative number the negative sign should stay in front. Thanks.
public class MD3 {
public static void main(String[] args)
{
BigNumber BigNumber1 = new BigNumber(args[0]);
BigNumber BigNumber2 = new BigNumber(args[1]);
BigNumber1.add(BigNumber2);
BigNumber1.display();
BigNumber1.reverse();
BigNumber1.display();
BigNumber2.subtract(BigNumber1);
BigNumber2.display();
BigNumber2.reverse();
BigNumber2.display();
}
class BigNumber {
private String number;
BigNumber(String str) { number = str; }
public void add(BigNumber sk) { /* ... */ }
public void subtract(BigNumber sk) { /* ... */ }
public void reverse() { /* ... */ }
public void display() {System.out.println(number);}
}
}
SOURCE CODE: *Please follow the comments to better understand the code. **Please look at the Screenshot below and use this code to copy-paste. ***The code in the below screenshot is neatly indented for better understanding. import java.math.BigInteger; public class MD3 { public static void main(String[] args) { BigNumber BigNumber1 = new BigNumber(args[0]); BigNumber BigNumber2 = new BigNumber(args[1]); BigNumber1.add(BigNumber2); BigNumber1.display(); BigNumber1.reverse(); BigNumber1.display(); BigNumber2.subtract(BigNumber1); BigNumber2.display(); BigNumber2.reverse(); BigNumber2.display(); } } class BigNumber { private String number; BigNumber(String str) { number = str; } public void add(BigNumber sk) { // convert number to BigInteger BigInteger number1 = new BigInteger(number); // add it number1 = number1.add(new BigInteger(sk.number)); // store in number variable number = number1.toString(); } public void subtract(BigNumber sk) { // convert number to BigInteger BigInteger number1 = new BigInteger(number); // subtract it number1 = number1.subtract(new BigInteger(sk.number)); // store in number variable number = number1.toString(); } public void reverse() { number= new StringBuffer(number).reverse().toString(); } public void display() {System.out.println(number);} }
==============
CODE: