import java.math.BigInteger; import java.util.Random; public abstract class mult { private static int numBits = 20; // default # of bits in BigInteger private static int maxTrials = 10; abstract public static BigInteger multiply(BigInteger n1, BigInteger n2); public static void main (String [] args){ Random rnd = new Random (); // Use the starting time as seed for // the Random number generator BigInteger b1, b2, r1, r2; int iteration; if (args.length == 0) { System.out.println ("Number of bits is " + numBits); } else if (args.length > 1) { System.err.println("Usage: java mult [numBits]"); return; } else{ try{ numBits = Integer.parseInt(args[0]); } catch(Exception e){ System.err.println("Usage: java mult [numBits(positive integer)]"); return; } if(numBits <= 0) { System.err.println("Usage: java mult [numBits: positive integer]"); return; } } // else for (iteration = 0; iteration < maxTrials; iteration++){ b1 = new BigInteger (numBits, rnd); b2 = new BigInteger (numBits, rnd); r1 = b1.multiply(b2); r2 = multiply(b1, b2); System.out.println(" b1 = " + b1.toString()); System.out.println(" b2 = " + b2.toString()); System.out.println("normal product = " + r1.toString()); System.out.println(" my product = " + r2.toString()); System.out.println("--------------------------------------"); } // for } // main } // mult class