I am working on an assignment where I need to do calculations with large numbers without using bignumber class.
I understand the theory now on how I will be adding the 2 numbers ( i have them taken in as strings, then inserted into int arrays) I will add the last digits and take anything over 9 and add it to the next.
I have been supplied with this method to use though:
LargeInteger sum = firstInt.add(secondInt);
I’m a bit confused as to how I can make this method in that it only takes 1 of the 2 numbers in the parameters.
Here is the rest of the pertinant code I have done so far:
main:
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String string1;
String string2;
int exp =0;
System.out.print("Enter the first integer: ");
//Store up the input string “string1” entered by the user from the keyboard.
string1 = input.next();
LargeInteger firstInt = new LargeInteger(string1);
System.out.print("Enter the second integer: ");
string2 = input.next();
//Store up the input string “string2” entered by the user from the keyboard.
LargeInteger secondInt = new LargeInteger(string2);
LargeInteger sum = firstInt.add(secondInt);
System.out.printf (" Sum = %s \n", sum.display());
}
And here is my second class LargeInteger (without the add method yet):
public class LargeInteger {
private int[] intArray;
//convert the strings to array
public LargeInteger(String s) {
intArray = new int[s.length()];
for (int i = 0; i < s.length(); i++) {
intArray[i] = Character.digit(s.charAt(i), 10); // in base 10
}
}
//display the strings
public String display() {
String result="";
for (int i = 0; i < intArray.length; i++) {
result += intArray[i];
}
return result.toString();
}
}
You actually do have two values. The first one is in firstInt and the second is in secondInt. The first value is implicitly available to the method add.
You will, however, need a method to get the value of intArray from the other object.
So within your add method, the values of secondInt.intArray are accessible by calling