@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 так не сравнивают. Это описано чуть ли не на первых страницах любого учебника.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы