public String toString() { StringBuilder S = new StringBuilder(); for (PR p : Prog) { int t = p.getTimes(); char c = p.getC(); for (int i = 0; i < t; i++) { S.append(c); } } return S.toString(); }
public void add(char C) { try { last = Prog.get(Prog.size() - 1); if (last.getC() == C) { last.inc(); } else { last = new PR(C); Prog.add(last); } } catch (java.lang.IndexOutOfBoundsException e) { last = new PR(C); Prog.add(last); } }
public Program clone() { ArrayList<PR> newProg = new ArrayList<PR>(Prog); int lastIndex = Prog.size() - 1; if (lastIndex >= 0) { newProg.set(lastIndex, last.clone()); } return new Program(newProg); }