-
The file "mult.java" is displayed below.
-
CLICK HERE
to download mult.java.
-
You will need to know about the class BigInteger
to do this problem.
CLICK HERE to get the description of this class.
// file: mult.java
import java.math.BigInteger;
import java.util.*;
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 generation */
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]");
return;
}
if(numBits <= 0) {
System.err.println("Usage: java mult [numBits: positive integer]");
return;
}
}
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("----------------------------------------");
}
}
}