Помогите по Java! Почему не прекращается цикл? Код внутри.. - Вопросы по Java

Вопрос Помогите по Java! Почему не прекращается цикл? Код внутри..

Регистрация
15 Июн 2013
Сообщения
84
Репутация
0
Спасибо
0
Монет
0
Код выделен на фотке серым.
По идее когда переменная станет равна "xx" - оператор != выдает значение "false" и цикл должен завершиться. Но вместо этого он продолжает прибавлять x пока хватает оперативки.
Выполняю class через коммандную строку windows.

Проверял с цифрами - всё норм. А с текстом почему-то не работает.

Помогите, плиз, кто знае в чем дело.
//otvet.imgsmail.ru/download/218729597_6b46071c7e1b4d60a3a898a58f13b537_800.png
 
Регистрация
8 Фев 2013
Сообщения
84
Репутация
0
Спасибо
0
Монет
0
Потому, что операции == и != сравнивают не содержимое строк, а ссылки на объекты класса "строка". Которые у тебя не совпадают и совпасть не могут (любая манипуляция, меняющая строку, создаёт новый объект с новым адресом ссылки). Для проверки равенства строк используется метод equals. С числами же сложнее: int - примитивный тип, который можно сравнивать через ==, Int - класс, для которого придётся использовать equals, а BigDecimal - класс, для которого equals поломан - работает только compareTo.
 
Сверху Снизу