//Christian Tirella //Brian Sweeney //CSU670 Project import java.util.ArrayList; public class TruthTable { /* Commented out after we switched from array list to truthrow ArrayList one = new ArrayList (3); ArrayList two = new ArrayList (3); ArrayList four = new ArrayList (3); ArrayList eight = new ArrayList (3); ArrayList sixteen = new ArrayList (3); ArrayList thirtyTwo = new ArrayList (3); ArrayList sixtyFour = new ArrayList (3); ArrayList oneTwentyEight = new ArrayList (3); */ //one arraylist for each row of the truth table TruthRow one; TruthRow two; TruthRow four; TruthRow eight; TruthRow sixteen; TruthRow thirtyTwo; TruthRow sixtyFour; TruthRow oneTwentyEight; //builds truth table public TruthTable () { /* Commented out after we switched from array list to truthrow one.add(new Integer(0)); one.add(new Integer(0)); one.add(new Integer(0)); two.add(new Integer(0)); two.add(new Integer(0)); two.add(new Integer(1)); four.add(new Integer(0)); four.add(new Integer(1)); four.add(new Integer(0)); eight.add(new Integer(0)); eight.add(new Integer(1)); eight.add(new Integer(1)); sixteen.add(new Integer(1)); sixteen.add(new Integer(0)); sixteen.add(new Integer(0)); thirtyTwo.add(new Integer(1)); thirtyTwo.add(new Integer(0)); thirtyTwo.add(new Integer(1)); sixtyFour.add(new Integer(1)); sixtyFour.add(new Integer(1)); sixtyFour.add(new Integer(0)); oneTwentyEight.add(new Integer(1)); oneTwentyEight.add(new Integer(1)); oneTwentyEight.add(new Integer(1)); */ this.one = new TruthRow (0,0,0); this.two = new TruthRow (0,0,1); this.four = new TruthRow (0,1,0); this.eight = new TruthRow (0,1,1); this.sixteen = new TruthRow (1,0,0); this.thirtyTwo = new TruthRow (1,0,1); this.sixtyFour = new TruthRow (1,1,0); this.oneTwentyEight = new TruthRow (1,1,1); } //returns the rows from the truth table which //correspond to the relation idicated by the int relationID public RelationTable getRelationTable(int relationID) { RelationTable relationTable = new RelationTable(new ArrayList()); //Validate Input if (relationID >= 256) { System.out.println("Relation ID should be [0-255]. Relation ID was " + relationID + ". Relation Table will be malformed. Check input and run again."); } //Uses algorithm to return rows which correspond to binary representation of relation ID if (relationID >= 128) { relationTable.add(oneTwentyEight); relationID = relationID - 128; System.out.println("Row 128 added to Relation Table."); } if (relationID >= 64) { relationTable.add(sixtyFour); relationID = relationID - 64; System.out.println("Row 64 added to Relation Table."); } if (relationID >= 32) { relationTable.add(thirtyTwo); relationID = relationID - 32; System.out.println("Row 32 added to Relation Table."); } if (relationID >= 16) { relationTable.add(sixteen); relationID = relationID - 16; System.out.println("Row 16 added to Relation Table."); } if (relationID >= 8) { relationTable.add(eight); relationID = relationID - 8; System.out.println("Row 8 added to Relation Table."); } if (relationID >= 4) { relationTable.add(four); relationID = relationID - 4; System.out.println("Row 4 added to Relation Table."); } if (relationID >= 2) { relationTable.add(two); relationID = relationID - 2; System.out.println("Row 2 added to Relation Table."); } if (relationID == 1) { relationTable.add(one); relationID = relationID - 1; System.out.println("Row 1 added to Relation Table."); } if (relationID == 0) { System.out.println("Table sucessfully built..."); } if (relationID != 0) { System.out.println("Table unsucessfully built..."); } return relationTable; } }