@Vyacheslav_Frein

Почему продолжает выполняться первый блок if?

Добрый вечер! Почему в коде ниже продолжает выполняться первый блок if, если при expression[i] равном одному из знаков в условии он должен передать управление второму блоку на следующей итерации цикла?

Входные данные - ["1", "2", "+", "4"]
void parse(){
        String firstNumber = "";
        String secondNumber = "";

        for(int i = 0, j = 0; i < expression.length; i++){
            if((expression[i] != "+" && expression[i] != "-" && expression[i] != "*" && expression[i] != "/") && j == 0){
                firstNumber += expression[i];
                System.out.println(firstNumber);
                System.out.println(j);
            }else if(j == 1){
                secondNumber += expression[i];
                System.out.println(secondNumber);
                System.out.println(j);
            }else{
                j = j + 1;
            }
        }
  • Вопрос задан
  • 96 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Потому что строки в Java так не сравнивают. Это описано чуть ли не на первых страницах любого учебника.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы