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;
    }
  }