首先inOrderList的類型是ArrayListString。ArrayListString就是一個可變長數(shù)組,數(shù)組里的每個元素是一個字符串。
10多年的郊區(qū)網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整郊區(qū)建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)從事“郊區(qū)網(wǎng)站設(shè)計”,“郊區(qū)網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實執(zhí)行。
其次,第二個問題問的不是很明確。[所有集合的方法]指的是什么?ArrayList只是一種集合,常用的還有map等。后面的是泛型,jdk1.5以后才支持的,便于類型的指定,在編譯的級別可以杜絕一部分類型轉(zhuǎn)換的錯誤。補(bǔ)充一下,但泛型不能根本上解決集合元素,類型轉(zhuǎn)換的所有問題。
可是可以,但是特別麻煩.
先要把中綴表達(dá)式,轉(zhuǎn)換為后綴表達(dá)式,再計算后綴表達(dá)式.
通常把我們?nèi)粘V锌吹降臄?shù)學(xué)表達(dá)式稱為中綴表達(dá)式如:(3+4)*5,
后綴表達(dá)式為計算機(jī)中容易計算的一種表達(dá)式.
A*B+C;轉(zhuǎn)換為后綴表達(dá)式后為:AB*C+;
(A+B)*(C-D);轉(zhuǎn)換為后綴表達(dá)式后為:AB+CD-*;
后綴表達(dá)式中沒有括號,優(yōu)先級為從左至右
后綴表達(dá)式較中綴表達(dá)式而言容易計算.
在中綴表達(dá)式中做一項運(yùn)算要考慮優(yōu)先級,所以要檢查后面的字符
在后綴表達(dá)式中只要碰到運(yùn)算符就可以運(yùn)算了,直到表達(dá)式結(jié)束.
把中綴表達(dá)式轉(zhuǎn)換為后綴表達(dá)式,再計算后綴表達(dá)式,這個兩個過程都可以用數(shù)據(jù)結(jié)構(gòu)(棧)來完成.
下面是一個C語言的例子.你看了應(yīng)該會明白一點.(和JAVA差不多)
這是2008上半年程序員考試的題目,五個空分別為:
(1)prt++
(2)0
(3)*ptr-'0'
(4)s,tnum
(5)*result
不知道樓主為什么問這個問題,不可以用其它方式解決嗎?
將中綴表達(dá)式轉(zhuǎn)換為后綴表達(dá)式的算法思想:
·當(dāng)讀到數(shù)字直接送至輸出隊列中
·當(dāng)讀到運(yùn)算符t時,
a. 將棧中所有優(yōu)先級高于或等于t的運(yùn)算符彈出,送到輸出隊列;
b. t進(jìn)棧
·讀到左括號時總是將它壓入棧中
·讀到右括號時,將靠近棧頂?shù)牡谝粋€左括號上面的運(yùn)算符全部依次彈出,送至輸出隊列后,再丟棄左括號。
運(yùn)用后綴表達(dá)式進(jìn)行計算的具體做法:
·建立一個棧S
·從左到右讀后綴表達(dá)式,讀到數(shù)字就將它轉(zhuǎn)換為數(shù)值壓入棧S中,讀到運(yùn)算符則從棧中依次彈出兩個數(shù)分別到Y(jié)和X,然后以“X 運(yùn)算符 Y”的形式計算機(jī)出結(jié)果,再壓加棧S中
·如果后綴表達(dá)式未讀完,就重復(fù)上面過程,最后輸出棧頂?shù)臄?shù)值則為結(jié)束
方法是有的,但不全實際.
首先,你要理解,JAVA代碼的運(yùn)行是要被編譯成字節(jié)碼codebyte后才能被執(zhí)行的,以你問題中的意思,那個字符串應(yīng)該是在怎么代碼被編譯后項目在運(yùn)行時,再傳入的參數(shù),這時,要想把傳入?yún)?shù)的字符串當(dāng)成JAVA代碼來運(yùn)行,只有一種辦法,就是把傳進(jìn)來的字符串轉(zhuǎn)換成字節(jié)碼,并且,要虛擬加一個方法體出來.這也不是不可行,可用的技術(shù)有asm.cglib等字節(jié)碼技術(shù).但你想,對于你的問題.這樣有實際的意義嗎
你還不如,把system.out.print重定義成新的外調(diào)方法調(diào)動來的清晰