#java #if-statement #libgdx #conditional-statements
#java #оператор if #libgdx #условные операторы
Вопрос:
Я пытаюсь написать условие, но структура else всегда показывает мне ошибку:
Skin skin;
skin = new Skin(Gdx.files.internal("default/skin/uiskin.json"));
réponse = new TextField("", skin);
réponse.setPosition(stage.getWidth() / 2 - 445, stage.getHeight() / 1 - 1600);
réponse.setSize(900, 120);
stage.addActor(réponse);
if (réponse.getText().equals("riviere")){
game.setScreen(new Stage1(game));
music.stop();
}
else (!réponse.equals("riviere")){
ecrireLeTexte = true;
}
Объяснение кода: я хочу создать условие, при котором пользователь вводит хорошее слово (riviere), оно приведет его к следующему экрану, если нет, он проверит логическое значение ecrireLeTexte, которое выводит текст «не хорошее слово, повторите попытку»
Комментарии:
1. Если вы хотите проверить еще одно условие, вы должны использовать
else if
, а не простоelse
.2. Вы пропускаете вызов .getText() , но даже игнорируете это — если вы создадите текстовое поле, а затем сразу проверите, что в нем, будет ли у пользователя время ввести что-либо в текстовое поле?
3. да, я думал об этом @immibis, но как мне проверить это после того, как они набрали?
Ответ №1:
Вам не хватает ключевого слова ‘if’ перед ключевым словом ‘else’:
else if(!réponse.equals("riviere")){
Это указывает на то, что если первое условие не было передано, оно делегирует второму. Может быть несколько ‘else if’:
if(false){
// Nope...
} else if(false){
// Nope...
} else if(true){
// Success!
}
Комментарии:
1. Или в этом случае просто удалите условие после оператора else.