private void executeCommand(String command) { switch (command) { case "plus": mem.setCurrentCell((byte) (mem.getCurrentCell() + 1)); break; case "minuse": mem.setCurrentCell((byte) (mem.getCurrentCell() - 1)); break; case "write": StringBuilder sb = new StringBuilder(out); sb.append((char) mem.getCurrentCell()); out = sb.toString(); break; case "read": try { mem.setCurrentCell(scn.nextByte()); } catch (InputMismatchException e) { System.out.println("Bad input!"); } break; case "while_begin": if (mem.getCurrentCell() == 0) { whileWorking("while_end", "while_begin", 1); } break; case "while_end": if (mem.getCurrentCell() != 0) { whileWorking("while_begin", "while_end", -1); } break; case "right": mem.setCurrentMemoryIndex(mem.getCurrentMemoryIndex() + 1); break; case "left": mem.setCurrentMemoryIndex(mem.getCurrentMemoryIndex() - 1); break; } }