Java — Libgdx: проблема с условием Else

#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.