if (!(key.equals("user")) && !(key.equals("loser")) && !(key.equals("coder")) && !(key.equals("proger"))) break;
Почему в этом условии оператор сравнение && - и, а не || - или. Если ставить ||, то условие будет всегда true.