private static void parseLine(String line) { StringTokenizer st = new StringTokenizer(line); String token = st.nextToken(); // set pattyCount int pattyCount = 1; if ("Single".equals(token)) { token = st.nextToken(); } else if ("Double".equals(token)) { pattyCount = 2; token = st.nextToken(); } else if ("Triple".equals(token)) { pattyCount = 3; token = st.nextToken(); } // set pattyType String pattyType = "Beef"; if ("Beef".equals(token)) { token = st.nextToken(); } else if ("Chicken".equals(token) || "Veggie".equals(token)) { pattyType = token; token = st.nextToken(); } // create burger boolean isBaron = "Baron".equals(token); Burger burger; if (isBaron) { st.nextToken(); burger = new Burger(true); } else { burger = new Burger(false); } // change pattyType burger.changePatties(pattyType); // add the correct amount of patties while (pattyCount > 1) { burger.addPatty(); pattyCount--; } // check for additions/omissions if (!st.hasMoreTokens()) { System.out.println(burger.toString()); return; } st.nextToken(); // remove "with" if ("no".equals(token)) st.nextToken(); // remove "no" // omissions/additions while (st.hasMoreTokens() && !(token = st.nextToken()).equals("but")) { if (isCategory(token)) { if (isBaron) burger.removeCategory(token); else burger.addCategory(token); } else { if (isBaron) burger.removeIngredient(token); else burger.addIngredient(token); } } // check for exceptions if (!st.hasMoreTokens()) { System.out.println(burger.toString()); return; } if ("no".equals(token)) st.nextToken(); // remove "no" // exceptions while (st.hasMoreTokens()) { token = st.nextToken(); if (isBaron) burger.addIngredient(token); else burger.removeIngredient(token); } System.out.println(burger.toString()); }