import java.util.ArrayList; import java.util.List; import java.util.Random; public class MaggieDogPoissonProblem { public static void main(String[] args) { List thisSide = new ArrayList(); thisSide.add("Maggie"); thisSide.add("Dog"); thisSide.add("Pson"); thisSide.add("Homer"); List otherSide = new ArrayList(); Random random = new Random(); boolean done = false; while (!done) { int pick = random.nextInt(thisSide.size()); if (pick != thisSide.size()) { otherSide.add(thisSide.remove(pick)); } otherSide.add(thisSide.remove(thisSide.size() - 1)); done = thisSide.isEmpty(); if (!done) { pick = random.nextInt(otherSide.size() + 1); if (pick != otherSide.size()) { thisSide.add(otherSide.remove(pick)); } thisSide.add(otherSide.remove(otherSide.size() - 1)); } } } }