0

Недавно я написал программу для преобразования строки из infix в post-fix в java! Для этого я использовал две строки 's' и 'p'. Я инициализировал обе строки с помощью 'NULL'. Тогда я получил значение s от пользователя, использующего класс Scanner.Как инициализировать строку в java, не вызывая инициализацию, чтобы вызвать проблемы в программе?

s=s1.nextLine(); 

так что если пользователь вводит "a+b", то с имеет значение "a+b". Обратите внимание, что 'NULL' больше не является частью строки!

Теперь манипулировать р используя оператор конкатенации '+', как:

p = p + '*'; 

я получаю мой пост-фикс строка: т.е.

ab+. 

Проблема заключается в том, что на этот раз, NULL делает не исчезают! Значение p:

"nullab+" вместо "ab+".

Теперь я знаю, что мой оператор конкатенации вызывает проблемы! Он добавляет строку!

Но java [eclipse indigo] не позволяет мне использовать оператор, не инициализируя его в первую очередь! Что мне делать? Пожалуйста помоги!

Спасибо

Ануй Калра

+0

Представьте, что null.toString() получит значение «null». Есть ли причина не давать значение init? пустая строка является допустимым значением инициализации. – porfiriopartida

ответ

3

Вы можете инициализировать строку в пустую строку для начала:

String str = ""; 

Проблема с null что конкатенация с null ссылкой преобразует его до строки "null", а затем выполните конкатенацию.

+0

WOW! Я думал, что это запрещено! Я сделал, как вы сказали! Излишне говорить, что это сработало! Большое спасибо! Очень понравилось ваше объяснение! - Еще раз спасибо! – user2839702