2011-11-20 41 views
1

我將如何回答諸如「以下表達式評估爲」的問題。Java中的字符串算術(評估混合類型表達式)

"2 + 2 " + 3 + 4; 

,因爲我在網站上的做法,並想盡一切辦法作爲可能的答案很艱難的時期,從2234

+0

可能是29? (「2 + 2」= 22,22 + 3 + 4 = 29)然而,這似乎並不是真正合適的問題。 – Oybek

+3

你有沒有嘗試把一個Java程序,編譯,然後運行看到答案? – vidstige

+0

我不明白這個問題。你能更清楚地向我解釋這一點嗎? – deadfish

回答

5

在Java中,如果添加的任一邊是字符串,則非字符串操作數會轉換爲字符串,並且兩個字符串會連接在一起。永遠不會通過使用加法將字符串轉換爲整數。也不會評估包含整數表達式的字符串。

如此以來,除了是左聯"2 + 2 " + 3 + 4被解析爲("2 + 2 " + 3) + 4,這將評估爲"2 + 2 3" + 4,這將反過來評估爲"2 + 2 34"

+0

謝謝sepp2k – Vonage93

+0

我現在怎麼做... 2 +「2 + 3」+ 4 – Vonage93

+0

看看你是否可以使用@ sepp2k使用的過程自己完成它。 (你應該得到「2 2 + 3 4」) –

0

「2 + 2」+ 3 + 4是Java中的字符串,等於「2 + 2 34」。

+2

-1:你是否真的嘗試將它放入代碼?這實際上是不正確的。 –

+0

是的,只是編輯。我從頭頂回答,然後出於好奇心處理它。我的道歉 – DPM

+0

'(「2 + 2」+ 3 + 4)是2 + 234''(「2 + 2」+ 3 + 4)是2 + 234' - 看白色空間! – deadfish

0

您需要將字符串解析爲其組件,然後解釋這些組件,就好像您正在編寫表達式解釋器(您是)。

相關問題