2013-01-16 88 views
2

我需要將字符串轉換爲整數數組。每個陣列插槽將包含一個整數值的字母。例如,串omg將返回,就像這樣在Java中是否有內置的方法將字符串轉換爲整數數組?

array[0] = 13; array[1] = 44; array[3] = 26; 

編輯字母這些值沒想起來。我只想知道是否有方法將字母轉換爲整數。

有沒有內置的方法呢?

+7

' String.getBytes()' –

+3

o - > 13,m - > 44和g - > 26如何? – Bohemian

回答

2

有多種方法可以做到這一點,具體取決於「轉向整數」的意思。

  • 您可以使用String.getBytes()編碼串入系統的默認編碼,並給你,作爲一個byte[]byte類型是一個整數類型。

  • 您可以使用String.toCharArray()爲您提供字符串的字符。 char類型是整數類型。

  • 您可以對字符串進行各種其他「神祕」轉換;例如將Caeser的密碼應用於每個字符串字符,以便給您一封信,然後您將其轉換爲數字。

你可以那麼寫一個循環來把一個char[]byte[]int[],但沒有內置的方法做改造這一步......如果這就是你所需要的。

請注意,前兩種方法可能會給你不同的整數,具體取決於字符串值和系統的默認字符編碼。你明白你正在嘗試用這種轉換做...


是很重要的(我假設的問題的例子轉型不應該按字面意思理解...)

2

好用於將其轉換成陣列,試着char[] chars = str.toCharArray();,並將其轉換成一個整數,使用for循環,並調用varible.getNumericValue();.所以一個例子是:

String omg = "OMG"; 
char[] chars = omg.toCharArray(); 
int[] result; 
for(char currentChar : chars){ 
    result[result.length] = currentChar.getNumericValue();//result.length starts at 1 more than the final index 
} 

編輯:或者只是使用String.getBytes,如上所述。

編輯2:其實這是完全錯誤的。

+0

我不認爲你想在向數組索引寫值時使用foreach循環。即使你是這樣,你也不想使用result.length作爲索引值。而字符串變量被稱爲omg,而不是str ... – sage88

+0

我知道,我意識到有多少東西是錯的,並且完全放棄了。 –

相關問題