2013-03-18 82 views
2

我想知道如何將字符串等字符轉換爲數組中的數值。例如,A是0,B是1.我知道我需要像這樣使用for循環: for(int i = 0; i < 26; i ++),但我不確定實際的代碼片段用來做轉換爲一個int數組?幫幫我?將字符串轉換爲Java中的int數組

+0

您需要張貼代碼顯示你已經嘗試了什麼。 – 2013-03-18 00:34:50

+0

你的意思是你想要根據它的索引來轉換每個字母嗎? – 2013-03-18 00:36:10

+0

@Ali Alamiri,其目的是將該字母轉換爲其數值。所以不是,不是索引,而是如果給定像「CAGHS」這樣的字符串,它將代表int數組:3 0 6 7 18 – 2013-03-18 01:14:36

回答

0

你可以通過yourString.charAt(i)得到每個Char,然後用(int)強制轉換它,這會給你相應的ASCII,然後從'A'的ASCII中減去。你將有你想要什麼

結果=(INT)yourString.charAt(I) - (int)的 'A'

+0

所以如果我有一個像「ESBDGACF」這樣的字符串,它會打印出「4 18 1 3 6 0 2 5「是什麼時候打印的? – 2013-03-18 00:51:15

+0

它應該這樣做,但是您應該在打印每個Char時考慮空格,並注意此解決方案區分大小寫。如果您使用小寫垃圾,您將得到另一個結果@SydneyWarrenburg – 2013-03-18 00:59:30

+0

非常感謝@Abd El-Rahman El-Tamawy。我已經實現了將我的字符串轉換爲大寫的代碼。非常感謝您的幫助! – 2013-03-18 01:12:23

3

將一個字母(char)轉換爲表示它在字母表中的位置的整數比有些人意識到的容易;所有你需要做的是:

(int)(c - 'A') // the "distance" between c and 'A' = place of c in alphabet 

遍歷您的字符串的字符和每個執行此操作,存儲在一個新的int數組的結果。

相關問題