import java.util.ArrayList; /** This class tests the IntegerSet class of Assignment 1, CS 155, Fall 2007, San Jose State University. */ public class A1 { public static void main(String[] args) { int[] powersOf2 = new int[] {1,2,4,8,16}; IntegerSet bag1 = new IntegerSet(powersOf2); ArrayList nextSubset; int sum; bag1.nextSubset(); // traverse and print sums of nonempty subsets do { sum = bag1.getCurrentSum(); nextSubset = bag1.getCurrentSubset(); bag1.nextSubset(); System.out.print(nextSubset + ": "); System.out.println("sum = " + sum); } while (!bag1.isCurrentSubsetEmpty()); System.out.print("membership counter = "); System.out.println(bag1.getMembershipCounter()); System.out.print("addition counter = "); System.out.println(bag1.getAdditionCounter()); System.out.println(); // test the getSubsetWithSum method IntegerSet bag2 = new IntegerSet(powersOf2); ArrayList result23 = bag2.getSubsetWithSum(23); System.out.print("A subset with sum 23 is = "); System.out.println(result23); System.out.print("membership counter = "); System.out.println(bag2.getMembershipCounter()); System.out.print("addition counter = "); System.out.println(bag2.getAdditionCounter()); System.out.println(); int[] powersOf3 = new int[] {1,3,9,27,81,243}; IntegerSet bag3 = new IntegerSet(powersOf3); ArrayList result90 = bag3.getSubsetWithSum(90); System.out.print("A subset with sum 90 is = "); System.out.println(result90); System.out.print("membership counter = "); System.out.println(bag3.getMembershipCounter()); System.out.print("addition counter = "); System.out.println(bag3.getAdditionCounter()); IntegerSet bag4 = new IntegerSet(powersOf3); ArrayList result96 = bag4.getSubsetWithSum(96); System.out.print("A subset with sum 96 is = "); System.out.println(result96); System.out.print("membership counter = "); System.out.println(bag4.getMembershipCounter()); System.out.print("addition counter = "); System.out.println(bag4.getAdditionCounter()); System.out.println(); int[] morePowersOf3 = new int[] {1,1,3,3,9,9,27,27,81,81}; IntegerSet bag5 = new IntegerSet(morePowersOf3); result96 = bag5.getSubsetWithSum(96); System.out.print("A subset with sum 96 is = "); System.out.println(result96); System.out.print("membership counter = "); System.out.println(bag5.getMembershipCounter()); System.out.print("addition counter = "); System.out.println(bag5.getAdditionCounter()); } }