Question: 8.16 (Huge Integer Class) Create a class HugeInteger which uses a 40-element array of digits to store integers as large as 40 digits each. Provide
8.16 (Huge Integer Class) Create a class HugeInteger which uses a 40-element array of digits to store integers as large as 40 digits each. Provide methods parse, toString, add and subtract. Method parse should receive a String, extract each digit using method charAt and place the integer equivalent of each digit into the integer array. For comparing HugeInteger objects, provide the following methods: isEqualTo, isNotEqualTo, isGreaterThan, isLessThan, isGreaterThanOrEqualTo and isLessThanOrEqualTo. Each of these is a predicate method that returns true if the relationship holds between the two HugeInteger objects and returns false if the relationship does not hold. Provide a predicate method isZero. If you feel ambitious, also provide methods multiply, divide and remainder. [Note: Primitive boolean values can be output as the word true or the word false with format specifier %b.] using this file to start huge integer if possible
import java.io.*;
public class HugeInteger { private int[] intArray; private int numDigits; // stores the number of digits in intArray
public HugeInteger(String s) { intArray = new int[40]; numDigits = 0; // call parse(s) }
public HugeInteger( ) { intArray = new int[40]; numDigits = 0; } public void parse(String s) { // Add each digit to the arrays // update numDigits }
public static HugeInteger add(HugeInteger hugeInt1, HugeInteger hugeInt2) { // Create hugeInt3 // Loop // Add digits from hugeInt1 and hugeInt2, // Store in corresponding hugeInt3 // End // // return hugeInt3 }
public static HugeInteger subtract(HugeInteger hugeInt1, HugeInteger hugeInt2) { // Create hugeInt3 // Loop // Subtract hugeInt2 digit from hugeInt1, // Store in corresponding hugeInt3 // End // // return hugeInt3
}
public static boolean isEqualTo(HugeInteger hugeInt1, HugeInteger hugeInt2) { // return true if the value represented by // elements of hugeInt1.intArray is equal to // value represented by elements of hughInt2.intArray
}
public static boolean isNotEqualTo(HugeInteger hugeInt1, HugeInteger hugeInt2) { // return true if the value represented by // elements of hugeInt1.intArray is not equal to // value represented by elements of hughInt2.intArray
}
public static boolean isGreaterThan(HugeInteger hugeInt1, HugeInteger hugeInt2) { // return true if the value represented by // elements of hugeInt1.intArray is greater than // value represented by elements of hughInt2.intArray
}
public static boolean isLessThan(HugeInteger hugeInt1, HugeInteger hugeInt2) { // return true if the value represented by // elements of hugeInt1.intArray is less than // value represented by elements of hughInt2.intArray }
public static boolean isGreaterThanOrEqualTo(HugeInteger hugeInt1, HugeInteger hugeInt2) { // return true if the value represented by // elements of hugeInt1.intArray is greater than or equal to // value represented by elements of hughInt2.intArray }
public static boolean isZero(HugeInteger hugeInt1 ) { // return true if the value represented by // elements of hugeInt1.intArray is 0 }
public String toString( ) { // return string representation of this object }
}
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
