2013-01-04 102 views
-2

我的話,例如:如何用java中的字典替換字符中的字符?

it 
your 
reality 
real 
our 

和某種字典,其中每個字符用數字來表示,那就是:

1 ij 2 abc 3 def 
4 gh 5 kl 6 mn 
7 prs 8 tuv 9 wxy 
     0 oqz 

我需要的是 - 通過數字字表示,像這樣:

it  -> 18 
your -> 9087 
reality -> 7325189 
real -> 7325 
our  -> 087 

我知道我應該使用這個集合,但哪一個? 我是新手在java所以任何例子都歡迎!

UPDATE:在PHP中有str_replace功能,可採取陣列第一個參數 - 什麼會被搜索和第二個參數 - 什麼會被取代,有沒有任何形式的在Java函數?

+2

我們都是新手一次,但我們通過嘗試學習,而不是通過複製SO答案。我建議你向我們展示你已經嘗試了什麼,以及你的問題是什麼,我們很樂意幫助你。 – jlordo

+0

「複製SO答案」是什麼意思?當然,最簡單的解決方案是創建Map並遍歷它,但正如您在更新的部分中看到的,我正在尋找java中的str_replace模擬器,因爲它應該更快且更易讀 – kirugan

+0

它不會更快。字符串在Java中是不可變的。當然還有一種替代方法。你看過String的javadoc嗎?類和方法記錄在案。閱讀文檔。 –

回答

1

使用Map<Character, Integer>將每個字符與其數字相關聯。然後遍歷字詞的字符,獲取相應的數字,並將其附加到StringBuilder。

您也可以簡單地使用26個元素的數組,其中包含與每個字母關聯的數字。要獲得給定字符的索引,您只需使用

int index = theChar - 'a'; 

它會更有效,但可能會降低可讀性。

+0

是否有任何種類的java中的鍵像set? – kirugan

+0

我不確定我明白你的意思。你讀過Map的javadoc嗎?我想這就是你要找的東西,正如我在答覆中所表明的那樣。 –