2015-02-08 64 views
1
list2.get(i).replace(list2.get(i).charAt(4), list3.get(i)); 

list2是字符串數組列表替換字符串數組列表的每個元素的第四個字符,例如[00110001, 11111111, 00000000, 01001010, 00000000]我想與另一個字符

我要替換在list2中每個元件的第四字符,在更換 字符存儲在list3所以它將包含[1, 0, 1, 1, 1]

最後,我的arraylist list2應該看起來像[00111001, 11110111, 00001000, 01001010, 00001000]

+0

改變'11111111'成'11110111'意味着你要翻轉'5th'字符(索引4從0開始計數)。請[編輯]您的問題並更正此信息。還包括你的代碼嘗試解決這個問題。堆棧溢出不是代碼工廠,而是解決問題的助手。 – Pshemo 2015-02-08 15:47:30

+2

問題是什麼? – 2015-02-08 15:48:10

回答

0

你可以做到這一點是這樣的:

  • 在列表2
  • 定義一個計數器變量是在項目list3元素的索引開始爲0
  • 遍歷每個元素刪除由給定的字符串迭代器並將其轉換爲charArray使用字符串上的toCharArray api
  • 現在使用計數器指向的list3的元素使用char數組中的第4個索引更改該位。
  • 將char數組轉換回String(使用String(char [])構造函數)並將其添加到列表2中。
  • 遞增計數器。
2

首先,您必須注意String是不可變的。這意味着你不能通過在list2.get(i)上運行任何方法來做到這一點。所有字符串方法都會返回新的字符串值,但不會更改原始字符串的值。

所以你必須使用list2.set(i, newValue)用你將構造的新字符串替換以前的字符串。

現在,你如何構建價值?你採取不應該改變串的片段,並堅持他們之間的新的字符值:

喜歡的東西:

String oldValue = list2.get(i); 
String newValue = oldValue.substring(0,3) + list3.get(i) + oldValue.substring(5); 
相關問題