2014-10-27 44 views
0

說例如我有一個字符串即解析字符串中字符格式轉換成一個數組列表的java

"my dog did a Foo" 

我想每個字符傳遞到一個數組列表,然後按照一定的索引執行操作。

所以我需要的字符轉換爲十進制值,在這種情況下: -

"my dog did a Foo" 

將轉化爲以下十進制表示: -

109 121 32 100 111 103 32 100 105 100 32 97 32 70 111 111 

一旦做到這一點,我需要將它發送到一個數組列表並編譯一個使用第二個數字「121」的字符串

最後一個數字「111」,另一個可以說「97」,並將與那些進行計算數字。

因此,如果這些被解析爲數組列表,那麼在這種情況下第二個數字「121」的索引是index1, 在這種情況下,「111」的索引將是等於字符串長度的索引(最後一個char)這意味着我們需要在之前確定這個索引。 最後97將是索引11.

我怎麼能寫一個語句,將字符串轉換爲十進制字符值,將每個字符添加到自己的數組列表中,然後根據索引做計算?它已經殺了我一個多月!

下面的代碼是極其錯誤的,但希望說明了什麼我打算做

如果我們用「我」。表示數組中的索引。

k = 0; 
private String lengthofstring = k; 
    while (k <= lengthofstring){ 
System.out.println(i.1+i.11 + "-" + i.lengthofstring); 

k++ 
} 

理應打印: -

218-111(or whichever is at the index equal to lengthofstring) 

任何幫助將是提前任何幫助ü可以提供驚人的

千恩萬謝。

+1

好的,你在這裏問幾個問題。其中兩個基本上是'我如何使用ArrayLists'。我建議你簡化這個問題到一個問題,並告訴我們你整個月都在做什麼來解決它。您也可以在同一時間詢問他們自己的主題中的其他問題!聽起來不錯? – FelixMarcus 2014-10-27 17:29:58

+0

你知道String類有['charAt(int ind)'](http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#charAt%28int%29 ) 方法? – 2014-10-27 17:30:39

回答

1

幾點建議

  1. 你有一個字符串,所以你既可以隱蔽由一個陣列char一種類型或使用 準備功能toCharArray()從String類。

  2. 很明顯,你需要定義一個動態數組,它自己收縮和展開。

  3. 因爲,char式正投,能int您可以通過選擇一個,每一個元素,並將它們添加到 列表。

由於這是一門功課,所以我的代碼的答案是

Java 8

代碼

String s = "my dog did a Foo" ; 
    List<String> listString = Arrays.asList(s.split("")); 
    IntStream.range(0, listString.size()) 
      .map(i-> (int)listString.get(i).charAt(0)) 
      .forEach(i -> System.out.print(" " + i)); 

輸出

109 121 32 100 111 103 32 100 105 100 32 97 32 70 111 111 
+3

認真嗎?當你清楚這是作業時,你正在發佈代碼... – 2014-10-27 17:32:56

+0

我完全同意但很清楚如何解決這個問題 – 2014-10-27 17:33:52

+4

但教導他們「思考」,而不是「乞求」。 – 2014-10-27 17:34:32

1

有:

String inputString = "my dog did a Foo"; 

1.將一個字符串轉換爲字符數組:

在你的情況,也許一個ArrayList是不是最好的選擇。你可以簡單地用一個字符數組:

char[] allStringChars; 

String類已經提供了一種方法爲,或者你可以像下面的算法一些循環做到這一點:

declare allStringChars with the inputString size 
declare i as 0 
for each char on inputString do 
    copy the char at inputString[i] to the allStringChars[i] 
    increment i 
end 

爲了得到一個特定的字符從inputString中,使用inputString.chatAt(i)方法。

2.在值都操作:

後到inputString隱蔽字符的數組,你可以得到所有字符的整數值:

int firstValue = allStringChars[0]; 
int lastValue = allStringChars[allStringChars.length - 1]; 

希望它能幫助。

相關問題