2008 Encoding
<< 2008TripFlights | APQuestionsTrailIndex | 2008 OpossumCritter >>
StringCoder
import java.util.ArrayList; /** * @author Chris Thiel,OFMCap * @version 8 May 2008 */ public class StringCoder { private String masterString; /** * Constructor for objects of class StringCoder */ public StringCoder() { masterString="sixtyzipperswerequicklypickedfromthewovenjutebag"; } public StringCoder(String master) { masterString=master; } public String decodeString(ArrayList<StringPart> parts) { // part a } private StringPart findPart(String str) { int start=0; int length=0; for (int len=1; len<=str.length(); len++) { int found=masterString.indexOf(str.substring(0,len)); if (found!=-1) { start=found; length=len; } } return new StringPart(start, length); } public ArrayList<StringPart> encodeString(String word) { //part b } }
StringPart
/** * Write a description of class StringPart here. * * @author Chris Thiel, OFMCap * @version 8 May 2008 */ public class StringPart { private int s; private int len; /** * Constructor for objects of class StringPart */ public StringPart(int start, int length) { // initialise instance variables s=start; len=length; } public StringPart() { // initialise instance variables s=0; len=0; } public int getStart() { return s; } public int getLength() { return len; } public String toString() { return "("+getStart()+", "+getLength()+")"; } }
StringCoderDriver
import java.util.ArrayList; /** * * @author Chris Thiel, oFMCap * @version 8 May 2008 */ public class StringCoderDriver { public static void main(String[] args) { ArrayList<StringPart> overeager=new ArrayList<StringPart>(); overeager.add(new StringPart(37,3) ); overeager.add(new StringPart(14,2) ); overeager.add(new StringPart(46,2) ); overeager.add(new StringPart(9,2) ); System.out.println("overeager is encoded as "+overeager); StringCoder key=new StringCoder("sixtyzipperswerequicklypickedfromthewovenjutebag"); System.out.println("Decoding we get "+key.decodeString(overeager)); System.out.println("Using part b overeager is encoded as "+key.encodeString("overeager")); } }