0

我最近編寫了一個程序,將字符串從中綴轉換爲java中的後綴。 爲此,我使用了兩個字符串's''p'。 我用'NULL'初始化了兩個字符串。 然後我從使用Scanner類的用戶那裏獲得了s的值。如何在java中初始化一個字符串而不會導致程序中的初始化問題?

s=s1.nextLine(); 

因此,如果用戶輸入"a+b",則s的值爲"a+b"。請注意,'NULL'不再是字符串的一部分!

現在我操縱p使用連接運算符 '+',如:

p = p + '*'; 

我得到我的修復後的字符串: 即

ab+. 

問題是,這一次,NULL呢不會消失! p的值爲:

"nullab+"而不是"ab+"

現在我知道我的連接運算符正在導致問題!它增加了字符串!

但是java [eclipse indigo]不允許我在不初始化的情況下使用操作符! 我該怎麼辦?請幫忙!

謝謝

Anuj卡爾拉

+0

想象一下null.toString()會得到「null」。是否有任何理由不給予初始值?一個空字符串是一個有效的初始值。 – porfiriopartida

回答

3

您可以將字符串初始化爲空字符串開始:

String str = ""; 

null的問題是與null參考會把它轉換成該字符串連接到"null"字符串,然後執行連接。

+0

哇!我認爲這是不允許的!我像你所說的那樣做了!不用說,它的工作!非常感謝!真的很喜歡你的解釋! - 再次感謝! – user2839702