+1 (218) 451-4151
glass
pen
clip
papers
heaphones

(Huge Integer Class) Create a class HugeInteger which uses a 40-element array of digits tostore…

(Huge Integer Class) Create a class HugeInteger which uses a 40-element array of digits tostore…

(Huge Integer Class) Create a class HugeInteger which uses a 40-element array of digits tostore integers as large as 40 digits each. Provide methods parse, toString, add and subtract. Methodparse should receive a String, extract each digit using method charAt and place the integerequivalent of each digit into the integer array. For comparing HugeInteger objects, provide the followingmethods: isEqualTo, isNotEqualTo, isGreaterThan, isLessThan, isGreaterThanOrEqualToand isLessThanOrEqualTo. Each of these is a predicate method that returns true if the relationshipholds between the two HugeInteger objects and returns false if the relationship does not hold. Providea predicate method isZero. If you feel ambitious, also provide methods multiply, divide andremainder. [Note: Primitive boolean values can be output as the word “true” or the word “false” withformat specifier %b.]  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  }  }