Есть ли методы для сравнения строк, которые имеют разную длину в java?
Всем привет,
У меня есть два сценария
Первый сценарий:
Если я получу такие строки, как эта:
x = x + 10;
x = x + a [i];
x = x + a [i] +10;
Примечание: буквы здесь могут быть разными, и примеры тоже могут быть разными.
Я отделил сторону перед знаком = от стороны после знака =
Итак, у меня есть ArrayList, где элементы выглядят следующим образом
Индекс 0 -> x
Индекс 1 -> x + 10
Индекс 2 -> x
Индекс 3 -> a [i]
Индекс 4 -> x
Индекс 5 -> x + a [i] +10
Теперь я хочу провести сравнение между предложениями, поэтому я сделаю сравнение между индексом 0 и индексом 1
и между индексом 2, индексом 3 и так далее.
Назовем стороне до равна (левая сторона) в str1 выглядит следующим образом
а после равенства (правая сторона) к str2
Есть ли возможность сделать сравнение между двумя сторонами и сказать если str1 переменная а str2 два это имя одной и той же переменной а массив идет после имени переменной как в следующем примере:
x = x + a[i] * 10;
мы возвращаем ложь
но если имена переменных отличаются друг от друга мы возвращаем true как в следующем примере:
x = y + a[i] + 10;
так что ложным будет возврат на что-то подобное этому:
x = x + a[i];
или
x = x + a[i] + 10;
Примечание: буквы могут быть разными. я имею в виду у нас может быть что то вроде этого:
sum = sum + a[i]; и так далее.
Второй сценарий:
Примечание: буквы и цифры могут быть изменены.
если у меня есть строка, подобная следующей:
a [i] = b [i] + c [i];
или
a [i] = b [i + 1] * c [i] +10;
Я смог отделить сторону до = и сторону после = таким же образом, как я упоминал ранее, и это выглядит следующим образом:
Индекс 0 -> a [i]
Индекс 1 -> b [i] + c [i]
Индекс 2 -> a [i]
Индекс 3 -> b [i + 1] * c [i] +10
вопрос вот в чем:
Могу ли я также отделить левую сторону друг от друга? Я имею в виду, я хочу, чтобы первое предложение было таким
а [я] сам по себе
b [i] сам по себе
c [i] сам по себе
то же самое и со вторым примером, потому что я хочу сравнить вот так:
Поэтому я хочу сравнить
a [i] с b [i]
и сравнить
a [i] с c [i]
Что я уже пробовал:
Я разделяю две стороны, как я уже упоминал выше, и я использовал charAT, но я не знаю, как узнать об остальной части утверждения, как в этом примере:
x = x + a[i];
он вернет 1, потому что x = x, но я не знаю, как проверить остальную часть строки, и как я отделяю строку больше, как в этом примере:
a[i] = b[i] + c[i+1];